sqlserver 脚本和批处理指令小结

时间:2021-05-02

一.脚本基础
1.USE语句
设置当前数据库。
2.声明变量
语法:DECLARE @变量名 变量类型
在声明变量后,给变量赋值之前,变量的值为NULL。
将系统函数赋给声明的变量,这个方法可以使我们能更安全地使用值,该值只有人为地改变时它才变动。如果直接使用系统函数本身,那么当它发生变动时,有
时会无法确定其究竟为何,因为大多数系统函数值是由系统确定的。这容易在你不预期的情况下导致系统改变了值,引起不可预期的后果。
(1).给变量赋值
SET:当进行变量赋值是,该值已经知道是确切值或者是其他变量时,使用SET。
SELECT:当变量赋值基于一个查询时,使用SELECT。
(2).系统函数
SQL Server 2005中有30多个无参的系统函数,其中一些最重要的如下:
@@ERROR: 返回当前连接下,最后执行的T-SQL语句的错误代码,如无错误返回0。
@@FETCH_STATUS: 和FETCH语句配合使用。
@@IDENTITY: 返回最后一句运行语句的、自动生成的标识值,作为最后INSERT或者SELECT INTO语句的结果。
@@ROWCOUNT: 返回最后一个语句影响的行数。
@@SERVERNAME: 返回脚本正在其上运行的本地服务的名字。
@@TRANCOUNT: 返回活动事务的数量,特别是针对当前连接的事务的瓶颈程度。

二.批处理
(1).GO单独占一行。在同一行上,T-SQL语句不能在GO语句之前。
(2).所有语句从脚本开始处或者上一个GO语句开始编译,直到下一个GO语句或者脚本结束,将这段代码编译到一个执行计划中并相互独立地送往服务器。前一
个执行计划中发生错误,不会影响后一个执行计划。
(3).GO不是一个T-SQL命令,只是被编辑工具识别的命令。当编辑工具碰到GO,它把GO看做一个结束批处理的标记,将其打包,然后作为一个独立单元发送到
服务器——不包括GO,服务器对于GO没有任何概念。
1.批处理中的错误
语法错误,运行时错误。
2.何时使用批处理
(1).独自成批处理的语句
有几个命令必须独自成批处理,它们包括:
CREATE DEFAULT
CREATE PROCEDURE
CREATE RULE
CREATE TRIGGER
CREATE VIEW
如果想将这些语句中的任何一条和其他语句组成单独的一个脚本,那么需要采用一个GO语句将它们分别断开,归入各自的批处理中。
(2).使用批处理建立优先级
使用批处理最可靠的例子是,当需要考虑语句执行的优先顺序时,也就是说,需要一个任务在另一个任务开始前执行。
例如:
CREATE DATABASE Test

复制代码 代码如下:

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章