Lielisks parametrs papildus datu drošībai datu bāzē.
Piemēra tabula un divi skati, no kuriem viens ar "With Check Option":
Create Table dbo.TestTableSkripts lai pārliecinātos par darbību (rinda, kas radīs kļūdu, sarkana):
(
TestTableID int Identity primary key,
Skaitlis int,
Deleted bit Default 0
)
Go
Create View dbo.vw_TestTable
-- 2011-03-01 Komentārs par skatu
As
Select TestTableID, Skaitlis, Deleted
From dbo.TestTable
Where Deleted = 0
With Check Option
Go
Create View dbo.vw_TestTable_NoCheck
-- 2011-03-01 Komentārs par skatu
As
Select TestTableID, Skaitlis, Deleted
From dbo.TestTable
Where Deleted = 0
-- Var ievietot rindu (updateable view).Pēc sevis satīram:
Insert Into dbo.vw_TestTable (Skaitlis, Deleted) values (2, 0)
-- Kļūda- skatā 'Deleted' kolonnā nedrīkst ievietot 1, neatbilst where daļai!Insert Into dbo.vw_TestTable (Skaitlis, Deleted) values (2, 1)
-- vw_TestTable_NoCheck neveic pārbaudes (abi gadījumi OK)
Insert Into dbo.vw_TestTable_NoCheck (Skaitlis, Deleted) values (2, 0)
Insert Into dbo.vw_TestTable_NoCheck (Skaitlis, Deleted) values (2, 1)
-- Bāzes tabulā, protams, var darīt ko grib jebkurā gadījumā.
Insert Into dbo.TestTable (Skaitlis, Deleted) values (2, 1)
drop table dbo.TestTable
drop view dbo.vw_TestTable
drop view dbo.vw_TestTable_NoCheck
Nav komentāru:
Ierakstīt komentāru