zoukankan      html  css  js  c++  java
  • 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>
    GO

    CREATE 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

    -- =============================================
    -- Create procedure with CURSOR OUTPUT Parameters
    -- =============================================
    -- drop the store procedure if it already exists
    IF EXISTS (SELECT name
           FROM   sysobjects
           WHERE  name = N'<procedure_name, sysname, proc_test>'
           AND       type = 'P')
        DROP PROCEDURE <procedure_name, sysname, proc_test>
    GO


    -- create the store procedure
    CREATE PROCEDURE <procedure_name, sysname, proc_test>
        <@proc_cursor_name, , @proc_test_cursor> CURSOR VARYING OUTPUT
    AS
    SET <@proc_cursor_name, , @proc_test_cursor> = CURSOR FOR
        <select_statement, , select 1>
    OPEN <@proc_cursor_name, , @proc_test_cursor>
    GO


    -- =============================================
    -- example to execute the store procedure
    -- =============================================
    DECLARE <@variable_cursor_name, , @test_cursor_variable> CURSOR

    EXEC <procedure_name, sysname, proc_test> <@proc_cursor_name, , @proc_test_cursor> = <@variable_cursor_name, , @test_cursor_variable> OUTPUT

    WHILE (@@FETCH_STATUS = 0)
    BEGIN
        FETCH NEXT FROM <@variable_cursor_name, , @test_cursor_variable>
        PRINT 'put user defined code here'
    END

    CLOSE <@variable_cursor_name, , @test_cursor_variable>

    DEALLOCATE <@variable_cursor_name, , @test_cursor_variable>
    GO

    -- =============================================
    -- Create procedure with OUTPUT Parameters
    -- =============================================
    -- 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>
    GO

    CREATE 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>  OUTPUT
    AS
        SELECT @p2 = @p2 + @p1
    GO

    -- =============================================
    -- example to execute the store procedure
    -- =============================================
    DECLARE <@variable_for_output_parameter, sysname, @p2_output> <datatype_for_output_parameter, , int>
    EXECUTE <procedure_name, sysname, proc_test> <value_for_param1, , 1>, <@variable_for_output_parameter, sysname, @p2_output> OUTPUT
    SELECT <@variable_for_output_parameter, sysname, @p2_output>
    GO

  • 相关阅读:
    作业2(4)求m和n之间的和
    作业2(3)计算x的n次方
    作业3(6)查询水果的单价。有 4 种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),
    作业3(5)输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间,要求使用 switch语句。
    作业3(4)循环输入多个年份 year,判断该年是否为闰年。判断闰年的条件是:能被 4 整除但不能被100 整除,或者能被 400 整除。输入-1退出程序执行
    P39-习题2-5
    P39-习题2-7
    计算N户电费
    P39-习题2-4
    P39-习题2-3
  • 原文地址:https://www.cnblogs.com/mingyongcheng/p/1995258.html
Copyright © 2011-2022 走看看