在SQL Server数据库中使用批处理的注意事项
2009-04-22 10:29:20 来源:WEB开发网如不能够在同一个批处理中更改表,然后引用新列。如在一个批处理程序中,有两条语句。第一条语句用来在一张表中插入一个字段,如在User表中插入员工的出生年月;第二条语句则用来引用这个列,如根据身份证号码来推算出这个员工的出身年月并把这个值赋值给这个第一条语句创建的出身年月字段。这个批处理程序是非法的。因为在第一条语句中其引用了第一条语句创建的新列。这是批处理文件书写中的一条红线,不得违背。但是注意,如果第一条语句不是增加了某个列,而是通过创建表的方式来创建列,那么后面的语句就可以引用这些列。也就说,如果第一条语句创建了一个表User,其中有出身年月这个字段。则在第二条语句中就可以利用这个出身年月字段,如可以利用insert语句为其进行赋值。这个细小的差异要引起数据库管理员的注意。
通常情况下,一个批处理程序可以包含多条语句。但是在一些特定的情况下会有例外。如果在批处理程序中包含了一些特殊的语句,则此时批处理程序中之能够包含一条语句。如在批处理文件中利用Create View语句创建视图时,就不能够与其他语句组合使用。此时所有跟在该批处理后的其他语句都将被解释为第一个Create语句定义的一部分。另外需要注意的是,如果 EXECUTE 语句是批处理中的第一句,则不需要 EXECUTE 关键字。如果 EXECUTE 语句不是批处理中的第一条语句,则需要 EXECUTE 关键字。
以上这些都是强制性的规则,数据库管理员在书写批处理程序时必须无条件的遵守。另外笔者再强调一次,这个批处理程序最好能够跟事务结合使用,以防止部分语句执行错误时对数据以执行的破坏。同时最好能够在批处理程序中插入意外处理语句。即使批处理程序全部执行成功,也最好能够给前台客户端发送一些反馈信息,以提高批处理程序与用户之间的互动性。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接