Advertisement
madanska

WithCheckOption

Nov 10th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.76 KB | None | 0 0
  1. CREATE DATABASE CUSTOMERS
  2. USE CUSTOMERS
  3.  
  4. -- СЪЗДАВАМЕ ТАБЛИЦА
  5. CREATE TABLE CUSTOMERS
  6. (
  7.     CUSTOMER_ID INT NOT NULL PRIMARY KEY,
  8.     NAME varchar(20) NOT NULL
  9. )
  10.  
  11. -- ПРОМЕНЯМЕ ТАБЛИЦАТА КАТО ДОБАВЯМЕ КОЛОНА
  12. ALTER TABLE CUSTOMERS
  13. ADD GENDER char(1) NULL DEFAULT 'M'
  14.     constraint CUST_GENDER check (GENDER IS NULL OR GENDER IN('M', 'F'))
  15.  
  16. -- ВЪВЕЖДАМЕ ЗАПИС В ТАБЛИЦАТА
  17. INSERT INTO CUSTOMERS  VALUES (1, 'IVAN IVANOV', 'M')
  18.  
  19. SELECT * FROM CUSTOMERS
  20.  
  21. -- СЪЗДАВАМЕ ИЗГЛЕД, НО С ОПЦИЯ ЗА ПРОВЕРКА
  22. CREATE VIEW GenderWithCheckOption
  23. AS  
  24. SELECT *
  25. FROM CUSTOMERS
  26. WHERE GENDER = 'M'
  27. WITH CHECK OPTION
  28.  
  29.  
  30. SELECT * FROM GenderWithCheckOption
  31.  
  32. -- ОПИТВАМЕ ДА ВЪВЕДЕМ ЗАПИС, НО ПРИ ПРОВЕРКАТА ПРОПАДА
  33. insert into GenderWithCheckOption values (2, 'MIRA IVANOVA', 'F')
  34.  
  35. -- АКО ПРОБВАМЕ С 'M' НЯМА ИМА ПРОБЛЕМ
  36. insert into GenderWithCheckOption values (2, 'MIRA IVANOVA', 'M')
  37. SELECT * FROM CUSTOMERS
  38.  
  39. -- ПРИ ЪПДЕЙТ ОТНОВО ДАВА ГРЕШКА ЗАРАДИ WITH CHECK OPTION  НА ИЗГЛЕДА
  40. UPDATE GenderWithCheckOption
  41. SET GENDER = 'F'
  42. where CUSTOMER_ID = 2
  43.  
  44. --МОЖЕМ ДА ТРИЕМ ОТ ИЗГЛЕД, ИНФОРМАЦИЯТА СЕ ПРОМЕНЯ И В БАЗОВАТА ТАБЛИЦА
  45. DELETE FROM GenderWithCheckOption
  46. WHERE  CUSTOMER_ID = 2
  47.  
  48. SELECT * FROM CUSTOMERS
  49.  
  50. -- ВИЖДАМЕ , ЧЕ ДОРИ ДА ВЪВЕДЕМ ЗАПИС С 'F' В БАЗОВАТА , ИЗГЛЕДА ОНОВО НЕ Я ПОКАЗВА
  51. INSERT INTO CUSTOMERS VALUES (2, 'GEORGI IVANOV', 'M'),
  52.                              (3, 'BOROVINKA IVANOVA', 'F')
  53. SELECT * FROM CUSTOMERS
  54. SELECT * FROM GenderWithCheckOption
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement