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也有一点作用。 哈哈
     

  • 相关阅读:
    webStorm常用快捷键
    npm 常用指令
    webpack配置详解
    Tornado-StaticFileHandler参考
    python-希尔排序
    python的__init__几种方法总结
    gitlab和github一起使用
    Git的一些知识
    关于Django的理解
    python-快速排序
  • 原文地址:https://www.cnblogs.com/whtydn/p/1711117.html
Copyright © 2011-2022 走看看