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

  • 相关阅读:
    LOJ.2721.[NOI2018]屠龙勇士(扩展CRT 扩展欧几里得)
    Codeforces.959E.Mahmoud and Ehab and the xor-MST(思路)
    BZOJ.3058.四叶草魔杖(Kruskal 状压DP)
    Codeforces.838E.Convex Countour(区间DP)
    Codeforces.838D.Airplane Arrangements(思路)
    Codeforces.997C.Sky Full of Stars(容斥 计数)
    Codeforces.786B.Legacy(线段树优化建图 最短路Dijkstra)
    BZOJ.3759.Hungergame(博弈论 线性基)
    LOJ.2718.[NOI2018]归程(Kruskal重构树 倍增)
    序列化二叉树
  • 原文地址:https://www.cnblogs.com/mingyongcheng/p/1995258.html
Copyright © 2011-2022 走看看