ASP.NET-第七天-数据库知识

第七天

复习:

1.连接查询:

内连接inner join 

外连接:

左连接(left join)、右连接(right join

左连接就是把左边的数据都显示出来

2.视图:

Create view vw_student

As

查询

 

Xp_cmdshell 远程创建文件

3.变量

局部变量、declare @num int

 

全局变量、@@identity@@error

Begin 代表VS中的{ }

end

4.索引:

 

存储过程:

优点1.执行速度更快--在数据库中保存的存储过程语句都是编译过的

2.允许模块化程序设计--类似方法的复用

3.提高系统安全性--防止SQL注入

4.减少网络流通量--只要传输存储过程的名称

系统存储过程:

Spxp开头

定义存储过程的语法:

Create procedure 名称

As

存储内容

使用存储过程:exec 名称

如果有默认值,可以不传参数,如果没有,就必须传参数;

 

 

创建成功存储过程后,想要改变内容,使用alter 

在变量后面加上int output 可以返回值

在调用存储过程时可以这样接收:

 

创建一个简单的无参数的存储过程

创建一个带普通参数的存储过程

创建一个带参数,并且参数带有默认值的存储过程

创建一个带输出参数的存储过程

 

使用adoNet调用存储过程:

需要设置一下command对象的执行类型,默认的都是text

存储过程,必须将commandtype设置为commandtypestoredProcedure,这个枚举

 

 

 

触发器:

触发器的作用,自动化操作,减少了手动操作以及出错的几率;

是一种特殊类型的存储过程

DML触发器:

Insertdeleteupdate (不支持select

After触发器(for)、instead of触发器(不支持before触发器)

DDL触发器:

Create tablecreate databasealterdrop

 

inserted表包含新数据

insertupdate触发器会用到

deleted表包含旧数据

deleteupdate触发器会用到

 

为表创建一个触发器:

Create trigger trig_mystudent_delete on mystudent

After delete

As 

Begin       --当删除mystudent表中记录后触发

Select*from deleted

Insert into mystudentDeleted 

Select fnamefagefgenderfenglishfclassidfbirthday  from  deleted

End

 

Instead of 替换了一个操作;

 

游标是过程化思维,而SQL本身是集合化思维

posted @ 2012-12-18 19:01  云那边  阅读(184)  评论(0编辑  收藏  举报