我刚用SQL不会写存储过程请各位大虾指点,写好后又该如何调用呢???

解决方案 »

  1.   

    联机帮助里:
    CREATE PROCEDURE
    创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在 Microsoft® SQL Server™ 启动时自动运行的存储过程。语法
    CREATE PROC [ EDURE ] procedure_name [ ; number ]
        [ { @parameter data_type }
            [ VARYING ] [ = default ] [ OUTPUT ]
        ] [ ,...n ] [ WITH
        { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ] 
    执行的话:
    EXECUTE
    执行标量值的用户定义函数、系统过程、用户定义存储过程或扩展存储过程。同时支持 Transact-SQL 批处理内的字符串的执行 若要唤醒调用函数,请使用 EXECUTE stored_procedure 中描述的语法。语法
    执行存储过程:[ [ EXEC [ UTE ] ]
        { 
            [ @return_status = ]
                { procedure_name [ ;number ] | @procedure_name_var
        } 
        [ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
            [ ,...n ] 
    [ WITH RECOMPILE ] 执行字符串:EXEC [ UTE ] ( { @string_variable | [ N ] 'tsql_string' } [ + ...n ] )具体的看帮助吧
      

  2.   

    在查询分析器中,点击文件下面的那个按钮右边的小箭头,选择CREATE PROCEDURE
    就会自动生成下面的代码-- =============================================
    -- Create procedure basic template
    -- =============================================
    -- creating the store procedure
    IF EXISTS (SELECT name 
       FROM   sysobjects 
       WHERE  name = N'<procedure_name, sysname, proc_test>' 
       AND    type = 'P')
        DROP PROCEDURE <procedure_name, sysname, proc_test>
    GOCREATE PROCEDURE <procedure_name, sysname, proc_test> 
    <@param1, sysname, @p1> <datatype_for_param1, , int> = <default_value_for_param1, , 0>, 
    <@param2, sysname, @p2> <datatype_for_param2, , int> = <default_value_for_param2, , 0>
    AS
    SELECT @p1, @p2
    GO-- =============================================
    -- example to execute the store procedure
    -- =============================================
    EXECUTE <procedure_name, sysname, proc_test> <value_for_param1, , 1>, <value_for_param2, , 2>
    GO