博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
传送门
阅读量:5243 次
发布时间:2019-06-14

本文共 3295 字,大约阅读时间需要 10 分钟。

1:var a;  type of(a) 返回的是未定义,就是声明了没有赋值叫做未定义;2:都属于Redis的知识点范畴

3.在sql的视图中,遇到这样的句子:WITH CHECK OPTIONView Code

 4. trigger 其实就是一种特殊的存储过程   理解触发器,就是:俩表爱的死去活来,你要是杀了A,那B就不活了;你对A做的update、delete 会影响到B的update、delete

1 用到的功能有:  2         1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号);  3         2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。  4      等等。  5  6      这时候可以用到触发器。对于1,创建一个Update触发器:  7  8      Create Trigger truStudent  9        On Student                         --在Student表中创建触发器 10        for Update                          --为什么事件触发 11      As                                        --事件触发后所要做的事情 12        if Update(StudentID)            13        begin 14 15          Update BorrowRecord 16            Set StudentID=i.StudentID 17            From BorrowRecord br , Deleted   d ,Inserted i      --Deleted和Inserted临时表 18            Where br.StudentID=d.StudentID 19 20        end        21                  22      理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。 23      一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是: 24                              虚拟表Inserted                     虚拟表Deleted 25 26 在表记录新增时     存放新增的记录                         不存储记录 27          修改时           存放用来更新的新记录                   存放更新前的记录 28          删除时           不存储记录                             存放被删除的记录 29 30 31      一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。
update
1 对于2,创建一个Delete触发器 2      Create trigger trdStudent 3        On Student 4        for Delete 5      As 6        Delete BorrowRecord 7          From BorrowRecord br , Delted d 8          Where br.StudentID=d.StudentID
View Code

 5.要是问起存储过程的好处:

  一般来讲,数据库的在执行sql时,先编译后执行的;但是存储过程是取自一个执行好的代码块,就不需要再编译拉;

也可以把一个表中的部分数据,存在存储过程以供别人进行数据的测试和对比;

而且,也可以保护真实的数据不被改变。

如果已经明确地参数化查询,将它放置在存储过程中可能带来最好的可重用性。因为只需要发送参数和存储过程的名称,所以网络流量减少了

存储过程预先编译,它们运行得比即席查询快速。存储过程还能为包含在存储过程中的一组查询维护单一的参数化计划,而不是维护大量单独查询的小型计划。这避免了计划缓冲被单独查询的计划充满。

Proc中的output

 

 

6 (这个抽空得搞了)

7.除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

只要我们在嵌套子查询视图里面加入: top 100 percent 即可

8   9.   10.  11. 12.在sql中Rand()函数是随机生成的小数点,NewID是随机生成的36位的序列(类似guid())13.

 14.、、   15、、(他的左边列表里很多知识点)

16、 17、  18、 、19  (多看看这里面的例子引用特性的 方法)

20、   

21 、(接口IQueryable<T>实际也是继承了IEnumerable<T>接口的,设计Enumerable<T>和Queryable<T>两套接口的原因是为了区别对待LINQ to OBJECTS、LINQ to SQL,两者对于查询的处理在内部使用的是完全不同的机制;针对LINQ to OBJECTS时,使用Enumerable中的扩展方法对本地集合进行排序和查询等操作,查询参数接受的是Func<>。Func<>叫做谓语表达式,相当于一个委托。针对LINQ to SQL时,则使用Queryable中的扩展方法,它接受的参数是Expression<>。Expression<>用于包装Func<>。LINQ to SQL引擎最终会将表达式树转化成为相应的SQL语句,然后在数据库中执行。)

22、 23、

23、  24、

25、Linq to OBJECT是用于操作内存对象的LINQ编程接口,包含了大量的查询操作符,针对内存中的集合对象进行操作。

26、27、

28、(lock知识点)

29、 30、 31、

30、

31、

32、

Rowcount的用法 这样的查询只会返回表A中的前10条数据。它和 "select top 10 * from 表A" 的作用一样。注意一点,set rowcount 的设置会在整个会话中有效。比如下面的sql示例:
set rowcount 10 select * from 表A go select * from 表B

@@Rowcount的用法

@@Rowcount与Rowcount看起来很像,只相差了两个@,但它们的功能是不一样的,@@Rowcount主要是返回上次sql语句所影响的数据行数,比如:

select top 2 * from 表A
select @@Rowcount

如果表A中的数据量大于或等于2,那么select @@Rowcount就会返回2,如果只有1条或0条数据,那么select @@Rowcount就会返回1或者0。
注意,不要把@@Rowcount理解为只返回查询的结果数量,删除,修改,新增等语句,也会正确的返回@@Rowcount值。比如:

update 表A set gid='a' where gid='a'
select @@Rowcount

如果表A中存在gid='a'的数据,那么select @@Rowcount就会返回它所修改数据的行数,如果不存在gid='a'的数据,那么select @@Rowcount就会返回0,删除与新增都是同样。

 

 

 

转载于:https://www.cnblogs.com/ZkbFighting/p/9027266.html

你可能感兴趣的文章
hudson+apachecontinuum+ant
查看>>
mysql新建用户,用户授权,删除用户,修改密码
查看>>
实验五 TCP传输及加密
查看>>
【iOS】build diff: /../Podfile.lock: No such file or directory
查看>>
【Android Studio】使用 Genymotion 调试出现错误 INSTALL_FAILED_CPU_ABI_INCOMPATI
查看>>
FancyCoverFlow
查看>>
教你一分钟实现动态模糊效果
查看>>
C++中explicit的用法
查看>>
java 企业站源码 兼容手机平板PC 响应式 主流SSM框架 freemaker 静态引擎
查看>>
AliOS编译安装MyRocks
查看>>
JS博客
查看>>
Docx转Doc操作(c#)
查看>>
Docker——error pulling image configuration
查看>>
一条简单的 SQL 执行超过 1000ms,纳尼?
查看>>
Python函数(一)之杵臼之交
查看>>
关于将qt作为max插件ui库所遇到的困难
查看>>
如何设置映射网络驱动器的具体步骤和方法
查看>>
ASP.NET WebApi 基于OAuth2.0实现Token签名认证
查看>>
SendMail与Postfix的架构备忘
查看>>
paip.mysql 性能测试 报告 home right
查看>>