日期:2014-05-18  浏览次数:20432 次

存储过程里的Go 和As是什么意思?还有ANSI_NULLS ON
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[UserInfo_Delete]
@userid int
AS
delete from userinfo where userid=@userid


go和As是什么意思呢, 我差了sql帮助但说的不明白, 好像go是结束一段Trancet-Sql语句的意思----不明白直接另起一行不就是结束吗? 还有as帮助里也说不清楚, 好像As是用来把@userid int这个参数用在下面的...

另外
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
这是什么意思呢?

------解决方案--------------------
GO 用于在 SSMS 和 SQLCMD 中将其之前的 T-SQL 语句作为一个批处理提交给 SQL Server 实例。GO 不是 T-SQL 语句,只是由这些特定客户端指定的提交批处理的方式。
批处理(Batch)是 SQL SERVER 客户端作为一个单元发送给服务的一个或多个 T-SQL 语句的集合-客户端将此集合一次性的提交给实例,而服务会将其编译为一个执行计划。

启用 ANSI_NULLS,所有与空值的比较运算结果为 UNKNOWN;否则空值与空值的比较结果为 TRUE。

启用 QUOTED_IDENTIFIER 表示使用双引号( "") 作为分隔符(当标示符不符合 SQL SERVER 的命名规则时可以使用 "" 或 [] 作为分隔符)。

AS 其实是关键字,在存储过程中可以理解为将其下(到 GO)的 T-SQL 语句,定义为存储过程。