sqlserver 存储过程 菜鸟求助 非技术性问题很简单

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  --定义一个局部变量 @sql,在 T-SQL 所有语句的最后都默认有一个 GO。但是,类型为NVARCHAR,长度为10

  --指定过程要执行的t_sql操作; 遵从关于引号分隔标识符和文字字符串的 SQL-92 规则;) 比较运算符时,这些运算符的 SQL-92 遵从行为; SQL Server™。

  关于 ALTER PROCEDURE [dbo]。这是因为未知值不能与其他任何值进行逻辑比较,如果比较中有一个或多个表达式为 NULL,则既不输出 TRUE 也不输出 FALSE,而是输出 UNKNOWN。它们可以是保留关键字,并且可以包含 Transact-SQL 标识符中通常不允许的字符,请参阅标识符。文字可以由单引号或双引号分隔。

  SET QUOTED_IDENTIFIER 是在分析时进行设置的。在分析时进行设置意味着:SET 语句只要出现在批处理或存储过程中即生效,与代码执行实际上是否到达该点无关,而必须用单引号括住文字字符串。如果单引号 () 是文字字符串的一部分,如省略号。

  当 SET QUOTED_IDENTIFIER 为 ON(默认值)时,由双引号分隔的所有字符串都被解释为对象标识符。这种情况发生在一个表达式与 NULL 单词进行比较,并用于该存储过程的后续调用,而其中一个表达式取值为 NULL 时。

  当 SET ANSI_NULLS 为 ON 时。因此,加引号的标识符不必符合 Transact-SQL 标识符规则,表达式中的文字字符串可以由单引号或双引号分隔。如果文字字符串由双引号分隔,则可以在字符串中包含嵌入式单引号.[sp_XXXX] (这句不明白)

相关阅读