एक आसान विकल्प जो अपडेट को ब्लॉक कर देता है और एक विशिष्ट टेबल पर सम्मिलित करता है लेकिन फिर भी डिलीट की अनुमति देता है:
ALTER TABLE mytable WITH NOCHECK ADD CONSTRAINT chk_read_only CHECK( 1 = 0 )
सावधान रहें:यह INSERTs और UPDATEs से बचता है, लेकिन DELETEs की अनुमति देता है।
यदि आपको वास्तव में केवल पढ़ने के लिए एक तालिका की आवश्यकता है, तो आप या तो यह कर सकते हैं:
a) इसे अपने डेटाबेस में रखें या
b) इसे एक फ़ाइल समूह पर रखें और इसे केवल पढ़ने के लिए चिह्नित करें, यहां बताया गया है:
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 सर्वर में कैसे पढ़ा जाए