sql >> Databáze >  >> RDS >> Sqlserver

Jak vytvořit tabulku pouze pro čtení v SQL Server?

Jednoduchá alternativa, která by blokovala aktualizaci a vkládání na konkrétní tabulku, ale stále umožňovala mazání:

ALTER TABLE mytable WITH NOCHECK ADD CONSTRAINT chk_read_only CHECK( 1 = 0 )

Buďte si vědomi:tím se vyhnete Vkládání a AKTUALIZACÍ, ale umožňuje DELETE.

Pokud opravdu potřebujete, aby tabulka byla skutečně pouze pro čtení, můžete také:

a) vložte jej do vlastní databáze nebo
b) vložte do skupiny souborů a označte, že pouze pro čtení, postupujte takto:

USE [master]

GO

ALTER DATABASE [csvtosp] ADD FILEGROUP [READONLYTABLES]

GO

ALTER DATABASE [csvtosp] ADD FILE ( NAME = N'mydb_readonly_tables', FILENAME = N'G:\SQL2005DATA\mydb_readonly_tables.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [READONLYTABLES]

GO

USE csvtosp

GO

DROP TABLE mytable

CREATE TABLE mytable (

    somedata    char(8000) not null

) ON READONLYTABLES

GO

Další podrobnosti o tomto tématu naleznete zde:

Jak vytvořit tabulku pouze pro čtení v SQL Server



  1. MySQL - Jak zobrazit hodnotu řádku jako název sloupce pomocí concat a group_concat

  2. Použití OraclePreparedStatement s připojením DBCP

  3. MySQL. Primární klíč v relační tabulce. Jedinečné ID nebo více jedinečných klíčů?

  4. INSERT trigger pro vložení záznamu do stejné tabulky