zoukankan      html  css  js  c++  java
  • <<SQL Server 2005 高级程序设计>> 学习笔记(3)

       1、约束的操作
       Cascade, No Action理解
       当在创建约束时选上Cascade,或代码创建时添加ON Delete CASCADE,当在主表删除一行记录时, 外表相关联的记录都会同时删除
       当在创建约束时选上No Action,或代码创建时添加ON Delete No Action,当在主表删除一行记录时, 如果外表关联有数据, 则会提示出错
       上面的只是Delete, 其实Update也是一样的

       2、Unique约束
       如主键一样,让一列数据只能有唯一的值
      
       3、子查询
       .NET面试者一般在笔试时都会有一条, 选出表A里面第10-15行数据(ID是不连续的)
       这样就需要子查询来实现了, 记得五年前我第一次看到这个问题时, 我也不知道怎回事, 为什么不通过ID来查询呢?
       其实有时ID的不连续的, 所以需要用子查询了
       select top 5 * from [A] where orderid not in (select top 9 orderid from [A] order by Orderid asc) order by Orderid asc

       4、select into 和 insert into select 查询插入语句的区别
       select into from要求目标表不存在,因为在插入时会自动创建, 多用来创建临时表时用到

       insert into select 要求目标表存在,只是把数据复制过来
     
       5、视图的update, Insert数据
       update useraccountview set code='CA001' where userid=2
       Insert数据其实是在视图里面创建触发器(Instead of)来插入数据, 在触发器中通过inserted来取得需要的数据, 然后插入相应的表
       所以在视图中也是可以update与insert数据, 不过建议不要在视图中操作, 因为考虑不周会引起好多麻烦的问题, 如果多表的插入或update, 建议用存储过程来实现

       6、视图加密
       Create view User_View
         with cncryption 
       AS
       多上with cncryption就可以加密了, 这样就查看不到视图的内容, 另外 还有一个with schemabinding也有一点作用。 哈哈
     

  • 相关阅读:
    【C语言】用"I love you!"打印心形
    android js与控件交互初探。
    android 调用webview控件,为逆向h5app做准备
    git命令
    kdevelp 导入makefile工程
    解决vmvare关闭过慢
    用python.twisted.logfile每天记录日志,并用不记录stdout中的内容
    关于bjam编译自己模块出错的问题
    俄罗斯黑客在美国监狱中获刑4年,到底是什么原因?
    美国的电信巨头T-Mobile今天披露了另一起数据遭黑客泄露事件
  • 原文地址:https://www.cnblogs.com/whtydn/p/1711117.html
Copyright © 2011-2022 走看看