Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да направя таблица само за четене в SQL Server?

Проста алтернатива, която би блокирала актуализирането и вмъкването в конкретна таблица, но все още позволява изтриването:

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

Имайте предвид:това избягва INSERT и UPDATE, но позволява DELETE.

Ако наистина се нуждаете от таблица, която наистина да бъде само за четене, можете също така:

а) поставете го в собствената му база данни или
б) поставете го във файлова група и маркирайте това само за четене, ето как:

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

За повече подробности по тази тема отидете тук:

Как да направите таблица само за четене в SQL Server



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Множество файлове с данни и множество файлови групи

  2. Използване с vs деклариране на временна таблица:производителност / разлика?

  3. Как работи функцията LEFT() в SQL Server (T-SQL)

  4. Странен знак в SQL база данни

  5. Последователност на изпълнение на клаузата Group By, Having и Where в SQL Server?