现在的位置: 首页 > 综合 > 正文

ASP.NET学习笔记:数据库操作 (2009.11.10)

2012年09月09日 ⁄ 综合 ⁄ 共 1523字 ⁄ 字号 评论关闭

从表中随即取出10条记录:

select top 10 * from dbo.Products order by newid()

 

复制表:不知道此处的where 1<>1是什么意思,但是第一句是把数据和结构一起复制到新表中,而第二句只是把表结构复制到新表中,数据并没有复制过去。

(注意:user3和user4是自动新建的表,不是数据库中已经存在的表)

select * into user3 from user1   --(所影响的行数为 3 行)
select * into user4 from user1 where 1<>1 --(所影响的行数为 0 行)

把表user1中的数据复制到user4中,注意,这里user4是数据库中已经存在的表,这个语句不会自己新建表。

insert into user4 select * from user1

 

存储过程(store procedue):

存储过程只在创造时进行编译,以后每次执行存储过程都不需要在重新编译,而一般的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

当对数据库进行复杂操作时,如对多个表进行Update,Insert,Query,Delete时,可将此复杂操作用存储过程封装起来,与数据库提供的事务处理结合一起使用。

 

游标(cursor):

从结果集中逐一地读取一条记录

游标操作有4个基本步骤:声明游标,打开游标,提取数据,关闭游标。

Code

scroll 表示可随意移动游标指针,否则游标只能向前移动

dynamic 表示可以读写游标,否则游标为只读

游标的使用可能导致并发性能降低,并可能导致不必要的锁定或堵塞,因此尽量使用只读游标。

 

SQL Server中,局部变量以@开头,全局变量以@@开头。

 

触发器(Trigger):

触发器是一种特殊类型的存储过程,它在指定表中的数据发生变化时自动执行,可以以insert,update或delete语句作为触发条件,触发器可以在这些语句执行之前或执行之后自动执行。

Code

 

连接池:

在Web应该系统中,每一次数据访问请求都必须经历建立数据库连接,打开数据库,存取数据和关闭数据库连接等步骤,打开与关闭数据库都是比较耗时的。为此,ASP.NET自动将数据库连接存放在连接池中。连接池可以大幅度提供程序的性能和效率,用户不必等待建立全新的数据库连接过程,而是直接利用现成的数据库连接。

 

 

抱歉!评论已关闭.