zoukankan      html  css  js  c++  java
  • 关于sql语句的疑问

    sql2005下,如下sql:

    declare @sql varchar(2000)

    set @sql='select * from Sysobjects'

    exec(@sql)

    在此如果不加括号,如(exec @sql),就会提示"找不到存储过程 'select * from Sysobjects'。";

    加上括号则可正常执行.

    exec执行存储过程或者函数,不用加挎号,否则要加

    http://msdn.microsoft.com/en-us/library/ms188332.aspx

    下面是Exec 的语法

    从语法定义可以看出,如果不加挎号, SQL SERVER 就会认为Exec 后面跟的是存储过程或者函数,所以会出现找不到存储过程的错误。

    Execute a stored procedure or function
    [ { EXEC | EXECUTE } ]
        {
          [ @return_status = ]
          { module_name [ ;number ] | @module_name_var }
            [ [ @parameter = ] { value
                               | @variable [ OUTPUT ]
                               | [ DEFAULT ]
                               }
            ]
          [ ,...n ]
          [ WITH RECOMPILE ]
        }
    [;]

    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 ]
    [;]

  • 相关阅读:
    有关UDP与TCP的一些疑问?
    UNP Ch 11, Name and Address Conversion
    C语言中的static关键字
    Typcical code to enable nonblocking I/O
    UNPv1_r3读书笔记: SCTP编程[转]
    用gcc链接重复定义的函数
    C语言编码风格 样例
    Chapter 3: File I/O
    getsockopt函数的使用
    开博客了
  • 原文地址:https://www.cnblogs.com/MyFavorite/p/1445450.html
Copyright © 2011-2022 走看看