sqlserver2005 存储过程模板及调用

本模板主要提供快速创建一个存储过程

本例子中包含:循环游标,事务

USE [数据库名称]
GO
/******    脚本日期: 11/25/2014 01:05:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [用户].[存储过程名称]
    @epId varchar(20),
    @bizname varchar(150),
    @resValue varchar(2) OUTPUT
AS
BEGIN
    SET NOCOUNT ON;
    declare @epName varchar(500);
    declare @belongSepa varchar(6);
    declare @processinstid numeric(18, 0);
    declare @orgid numeric(10, 0);
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
        set @resValue = 0;
    declare order_cursor CURSOR LOCAL FORWARD_ONLY KEYSET SCROLL_LOCKS FOR select ep_name,belong_sepa,processinstid,orgid from ENTERPRISE where ep_id = @epId;
    OPEN order_cursor
    --开始循环游标变量
    FETCH NEXT FROM order_cursor INTO @epName,@belongSepa,@processinstid,@orgid;
    WHILE (@@FETCH_STATUS = 0)
    BEGIN
    insert into BAK_OLD_EPINFO values (@epId,@epName,@processinstid,@orgid,@belongSepa,getdate());
    if (@@ERROR=0)
    BEGIN
        SET @resValue=0; --成功
        delete from ENTERPRISE where ep_id = @epId;
    END
    ELSE
    BEGIN
        SET @resValue=1; --失败
    END
    FETCH NEXT FROM order_cursor INTO @epName,@belongSepa,@processinstid,@orgid;
    END
    CLOSE order_cursor
    DEALLOCATE order_cursor
    SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
END

如何调用的语句例子

declare @epid varchar(50);
declare @epname varchar(500);
declare @resvalue varchar(500);
set @epid = ‘123456‘;
set @epname = ‘xxxxxx‘;
exec [用户].[存储过程名称] @epid,@epname,@resvalue output
print @resvalue;
时间: 2024-10-08 09:03:40

sqlserver2005 存储过程模板及调用的相关文章

MySQL存储过程定义及调用

#MySQL存储过程 ##最简单的存储过程 DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1() COMMENT '最简单的存储过程' SELECT 1; ##调用 CALL sp1 (); ##带输入参数的存储过程 DROP PROCEDURE IF EXISTS sp2; CREATE PROCEDURE sp2(IN p INT) COMMENT '带输入参数的存储过程' SELECT p; ##调用 CALL sp2(1); #带输出参

简单模板view调用

$this->display();//模板名称与当前控制器.当前操作方法的名称不一致 $this->display();//调用当前控制器对应目录指定名称的模板 $this->display();调用其他控制器下的具体模板文件

ahjesus code simith 存储过程模板

<%------------------------------------------------------------------------------------------ * Author: Eric J. Smith * Description: This template will generate standard CRUD stored procedures for a given * database table. ----------------------------

DedeCMS织梦模板标签调用大全

本文转载:http://www.mubanzhijia.com/jishujiaocheng/1.html 关键描述调用标签: <meta name="keywords" content="{dede:field name='keywords'/}"><meta name="description" content="{dede:field name='description' function='html2text(

CodeSmith存储过程模板

1 <%@ CodeTemplate Debug="False" Language="C#" Inherits="CodeSmith.BaseTemplates.SqlCodeTemplate" TargetLanguage="T-SQL" CompilerVersion="v3.5" 2 Description="Generates standard CRUD procedures bas

MySQL之存储过程创建和调用

一.MySQL存储过程_创建-调用 1.1存储过程:SQL中的"脚本"1.创建存储过程2.调用存储过程3.存储过程体4.语句标签块 二.MySQL存储过程简单介绍: 存储过程(Stored Procedure):提示:#SQL语句:先编译后执行 一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行. 优点(为什么要用存储过程?): ①将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调

20150825 C# 调用带参数的存储过程 模板

////// exec proceudre2                        //System.Data.SqlClient.SqlConnection sqlcon = new System.Data.SqlClient.SqlConnection("server=(local);database=pubs;uid=sa;pwd=;");                        System.Data.SqlClient.SqlConnection sqlcon

oracle存储过程及Java调用

初次研究出bug的地方非常多,所以注意点非常多,花了我三天时间除尽所有bug,我会把注意点都列出来,可能有落下的地方,还请多指正,相互探讨. 首先上最终测试成功版存储过程代码:(里面代码可能不尽对你都有用,借鉴参考吧,我全贴出来也是为了我以后好查) 说一下jar包用的是ojdbc14.jar,至于什么class12.jar.ojdbc6.jar啊应该都可以,只要一种就可以了. 说说我的需求,以便让大家更顺利的看懂我的代码,我的需求是:存储过程从Java端接收两个参数userid(用户)和topi

mysql存储过程和定时调用

1.创建存储过程 1 create procedure proc_name() 2 begin 3 sql; 4 end sql为定时值执行的代码,比如,定时向表里插入当前时间:INSERT into table(times) VALUES(NOW());:然后通过事件调度来定时执行该存储过程. 2.创建触发事件 1 create event if not exists event_name 2 on schedule every 30 second 3 on completion preser