在联机帮助中,Execute 的语法结构如下:
Execute a character string
{ EXEC | EXECUTE } 
        ( { @string_variable | [ N ]'tsql_string' } [ + ...n ] )
    [ AS { LOGIN | USER } = ' name ' ]
[;]Execute a pass-through command against a linked server
{ EXEC | EXECUTE }
        ( { @string_variable | [ N ] 'command_string' } [ + ...n ]        [ {, { value | @variable [ OUTPUT ] } } [...n] ]
        ) 
    [ AS { LOGIN | USER } = ' name ' ]
    [ AT linked_server_name ]
[;]在以上结构中,有[ + ...n ]出现,请问此处的+代表什么?如果使用?

解决方案 »

  1.   

    declare @name sysname, @type varchar(2)
    select @name='sysobjects',@type='U'execute ('select * from '+@name+' where type='''+@type+'''')
      

  2.   

    declare @name sysname, @type varchar(2)
    select @name='sysobjects',@type='U'execute ('select * from ' + @name + ' where type=''' + @type + '''')
      

  3.   


    [N]'tsql_string'是一个常量,tsql_string 可以是 nvarchar 或 varchar 数据类型。如果包含 N,则该字符串将解释为 nvarchar 数据类型,最大值为服务器的可用内存。如果字符串长度超过 4,000 个字符,则把多个局部变量串联起来用于 EXECUTE 字符串。
      

  4.   

    动态的SQL之间相加的意思,
    就是说可以有n个SQL字串相加.