WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院数据库MSSQL Server 细说Sql Server中的视图(下) 阅读

细说Sql Server中的视图(下)

 2009-06-19 10:29:26 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愭娑樷枎閹邦剛娉氶梺鍛婎殔濞层劌鈻撻幋婵愬殫妞ゆ梻鍘х憴锟�
核心提示: 我们在Northwind数据库中创建一个CustomWithOrder的视图,现在还没有添加WITH CHECK OPTION选项 1:CREATEVIEWCustomerWithOrder2:WITHVIEW_METADATA3:AS4:5:SELECTCustomers.Custome

我们在Northwind数据库中创建一个CustomWithOrder的视图,现在还没有添加WITH CHECK OPTION选项

  1: CREATE VIEW CustomerWithOrder
  2: WITH VIEW_METADATA
  3: AS
  4:  
  5: SELECT Customers.CustomerID,Customers.CompanyName FROM Customers 
  6: WHERE EXISTS(SELECT 1 FROM Orders WHERE Orders.CustomerID = Customers.CustomerID)
  7: 

该视图的作用是查询所有有订单的客户的id和公司名,接下来我们向视图中插入一条不存在的用户id,和公司名:

  1: INSERT INTO CustomerWithOrder(CustomerID,CompanyName) VALUES('MYSQL','MyReed')

执行成功,然后在查询这个CustomerWithOrder视图,很明显,查询不到CustomerID为’MySQL’的用户,因为视图只包含发生过订单的用户;如果你直接查询Customers表,就会发现这个新增的用户信息了。

接下来对CustomerWithOrder视图添加WITH CHECK OPTION 选项

  1: ALTER VIEW CustomerWithOrder
  2: WITH VIEW_METADATA
  3: AS
  4:  
  5: SELECT Customers.CustomerID,Customers.CompanyName FROM Customers 
  6: WHERE EXISTS(SELECT 1 FROM Orders WHERE Orders.CustomerID = Customers.CustomerID)
  7:  
  8: WITH CHECK OPTION

然后再执行下面的语句:

  1: INSERT INTO CustomerWithOrder(CustomerID,CompanyName) VALUES('ILSQL','MyReed')

上一页  1 2 3 4 5  下一页

Tags:细说 Sql Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接