存储过程

分页存储过程

狂风中的少年 提交于 2020-03-25 14:02:28
本存储过程没有返回总记录数,但支持Ms sql 2000、2005 Create PROCEDURE dbo.pro_getListByPage ( @tbname VARCHAR ( 30 ), -- 表名称 @fldname VARCHAR ( 20 ), -- 自动增加列 @column VARCHAR ( 200 ), -- 返回列 @pagesize INT , -- 每页显示条数 @pageindex INT , -- 当前页数 @where VARCHAR ( 300 ), -- 不带where的条件 @orderby VARCHAR ( 200 ), -- 排序字段 @orderbytype VARCHAR ( 5 ) -- 排序类型asc,desc ) AS DECLARE @sqlstr VARCHAR ( 2000 ) DECLARE @strOrder VARCHAR ( 250 ) DECLARE @strTmp VARCHAR ( 50 ) -- -数据 IF @orderbytype = ' desc ' begin SET @strOrder = ' order by ' + @fldname + ' desc ' set @strTmp = ' <(select min ' end ELSE begin SET @strOrder = '

vs2015调试sqlserver 存储过程

大兔子大兔子 提交于 2020-03-25 08:41:15
存储过程写完之后不能确定是否一定完全符合业务逻辑的要求,可以通过调试来确定符合与否。通过visual studio可以进行调试,在visual studio中有三种调试方法。 一、 数据库 中直接调试 。 二、应用程序调试 。 三、在SQLServer项目中调试 。 在Visual Studio中可以创建一个SQL Server项目。该项目中可以包含T-SQL和数据库对象,并且这些数据库对象都可以通过SQLServer项目本身来调试。 本文暂时先介绍第一种方法,在第一种方法中还有调试本地数据库和远程数据库两种不同的方式。在这里暂时先介绍调试本地数据库中的存储过程的方法。 调试步骤: 1、打开visual studio 2013,单击“视图”,选择“服务器资源管理器”。 2、右键单击“数据连接”,选择“添加连接” 3、在弹出的窗口中选择“Microsoft SQL Server”或者“Microsoft SQL Server数据库文件” 4、在第三步基础上进行配置,这一步根据第三步选择选项不同,进行配置的内容不同,但都比较简单,不做描述。 5、添加连接完成之后,点击“存储过程”,选择你要调试的存储过程,右键单击,选择“执行”,在弹出窗口中输入相应参数(如果有的话) 6、在打开的选项卡窗口中点击绿色按钮右边的下拉按钮,选择“使用调试器执行”,开始调试。 7、调试时

存储过程和函数 oracle

强颜欢笑 提交于 2020-03-24 18:47:21
3 月,跳不动了?>>> declare begin dbms_output.put_line('Hello World'); end; declare i number := 10; begin if i > 5 then dbms_output.put_line('OK'); end if; end; --loop循环 declare i number := 1; begin loop dbms_output.put_line('OK'); exit when i=10; i:=i+1; end loop; end; --while 循环 declare i number :=1; begin while i<10 loop dbms_output.put_line('我说了算'); i:=i+1; end loop; end; -- 1-100之间所有的偶数 declare i number := 1; begin while i <= 100 loop if mod(i, 2) = 0 then dbms_output.put_line(i); end if; i := i + 1; end loop; end; --智能循环 for循环 declare begin for i in 1 .. 10 loop dbms_output.put_line(i); end

PostgreSQL数据库日常学习笔记12-函数(存储过程)

谁都会走 提交于 2020-03-24 09:31:05
3 月,跳不动了?>>> 温馨提示:本文中部分描述仅为个人理解,存在描述偏差或错误,内容仅供参考 某些其它数据库系统所定义活动数据库规则,通常是存储过程和触发器。在PostgreSQL中,这些规则可以通过函数和触发器来实现。 PostgreSQL函数也称为PostgreSQL存储过程。 首先我们简要介绍函数这个概念。PostgreSQL存储过程具有以下优点 减少应用与数据库服务器通信开销,提升网络性能。在某些大型业务系统中,大多需要使用多个存储过程等,存储过程等降低网络通信开销就具有明显优势 存储过程存于数据库服务器中,首次被调用后即被编译,再调用时无需二次编译,直接被服务器执行,可以提高性能 存储过程可以重复使用,能够减少数据库开发人员和管理人员工作量 保护数据库元信息。如果应用程序直接使用SQL语句查询数据库,会将数据库表结构等信息暴露给应用程序,不利于数据库访问控制 细粒度权限管理。直接控制用户调用存储过程,存储过程可以增强数据安全性 将业务实现与应用程序解耦。当业务需求更新时,只需更新存储过程,无需要变动应用程序 可以通过其它语言并可及其它系统交互。PostgreSQL官方支持PL/pgSQL,PL/Tcl,PL/Perl,PL/Python,PL/Java,PL/PHP, PL/R,PL/Ruby,PL/Scheme,PL/sh等(编程)语言。 当然

aspnetpager调用存储过程方法

风流意气都作罢 提交于 2020-03-24 07:23:44
/// <summary> /// 多表分页 /// </summary> /// <param name="tblName">主表名</param> /// <param name="ftblname">从表名</param> /// <param name="Cfields">从表字段</param> /// <param name="fldName">主表主键</param> /// <param name="fldnamefk">主表外键</param> /// <param name="ftablenamepk">从表主键</param> /// <param name="PageSize">分页大小</param> /// <param name="PageIndex">当前页</param> /// <param name="strOrder">排序方式</param> /// <param name="strWhere">查询条件</param> /// <param name="strTerm">主表字段</param> /// <param name="Count">返回记录的总数</param> /// <returns></returns> public static DataSet GetmuchList(string tblName, string

Oracle 存储过程包(Package、Package Body)

僤鯓⒐⒋嵵緔 提交于 2020-03-24 01:52:11
初出茅庐,不知原来存储过程还可以写得如此复杂,而且还竟然可以调试! 好吧,得整理一下存储过程的一些语法,以备以后用到时可以查阅。 使用数据库:Oracle 数据库工具:PL/SQL Developer 在Oracle中使用存储过程可以声明单个存储过程,也可以使用包的方式一个存储过程包(PACKAGE)包含许多存储过程。 编写单个存储过程的格式可以参考下面这个例子,这是最简单的存储过程例子: CREATE OR REPLACE PROCEDURE PROC_TEST IS /* 声明变量 */ count number; BEGIN /* SQL代码 */ select * from dual; /* 异常处理 */ EXCEPTIOIN WHEN NO_DATA_FOUND THEN --处理代码 WHEN OTHERS THEN --处理代码 END PROC_TEST; --这里也可以直接写成: "END;" 如果有许多存储过程,那么你可能需要用到存储过程包。在Oracle中使用存储过程包 首先要先创建package声明存储过程,之后创建package body写存储过程的具体内容。 存储过程的package相当于Java中的接口,而package body就相当于Java中实现该接口的类。 1.声明存储过程 CREATE OR REPLACE PACKAGE PACK_ZOO

MYSQL存储过程实现in传入参数 where in('1','2')

柔情痞子 提交于 2020-03-23 13:09:38
android 服务器端开发中遇到这么一个问题: 突然发现将字符串传入到存储过程,参数为 '1','2' ,竟然执行无效 所以看到网上有在存储过程中直接拼凑sql的代码,今天也试了一下,可以执行了,代码如下: CREATE DEFINER = 'abc'@'%' PROCEDURE ConfirmAcceptorListProc(in p_task_id varchar(20),in p_user_ids text,out p_msgtype varchar(20),out p_msg varchar(20)) begin DECLARE m_user_ids varchar(1000); DECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; SET @SEL='update go_task_acceptor set status =\'2\' where status = \'1\' AND task_id = \''; set @sentence = concat(@sel,p_task_id,'\' AND acceptor_id in (',p_user_ids,');'); -- 连接字符串生成要执行的SQL语句 prepare stmt

sqlhelper .cs

空扰寡人 提交于 2020-03-23 09:22:57
using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collections; using System.Configuration; namespace BookDAL { /// /// SqlServer数据访问帮助类 /// public sealed class SqlHelper { #region 私有构造函数和方法 private SqlHelper() { } /// /// 将SqlParameter参数数组(参数值)分配给SqlCommand命令. /// 这个方法将给任何一个参数分配DBNull.Value; /// 该操作将阻止默认值的使用. /// /// 命令名 /// SqlParameters数组 private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters) { if (command == null) throw new ArgumentNullException("command"); if (commandParameters != null) { foreach (SqlParameter p

SQLHelper帮助类

懵懂的女人 提交于 2020-03-23 08:42:29
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Collections; using System.Data.SqlClient; /// <summary> /// 数据库的通用访问代码 /// 此类为抽象类,不允许实例化,在应用时直接调用即可 /// </summary> public abstract class SqlHelper { //获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直接使用,但不能修改 public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings[ "pubsConnectionString" ].ConnectionString; // 哈希表用来存储缓存的参数信息,哈希表可以存储任意类型的参数。 private static Hashtable parmCache = Hashtable.Synchronized( new Hashtable()); /// <summary> //

dotnet oracle摘自msdn

纵然是瞬间 提交于 2020-03-23 06:09:14
使用 ADO.NET 访问 Oracle 9i 存储过程 发布日期: 5/28/2004 | 更新日期: 5/28/2004 Bill Hamilton 2004 年 4 月 适用于: Microsoft ADO.NET Microsoft SQL Server Microsoft .NET Oracle 提供程序 Microsoft .NET Framework 1.1 版 摘要:使用 Microsoft .NET 框架 1.1 中的 Microsoft .NET Oracle 提供程序访问 Oracle 存储过程和函数。(24 页打印页) 内容 本页内容 概述 类 执行存储过程 不返回数据的存储过程 结果集与 REF CURSOR 包 使用 DataReader 返回单个值的存储过程 序列 使用 DataAdapter 填充数据集 使用 DataAdapter 更新 Oracle 使用多个结果集 小结 相关书籍 本文讨论了如何使用 ADO.NET 访问 Oracle 存储过程(称为 SQL 编程块)和函数(返回单个值的编程块)。 您可以使用以下托管数据提供程序连接到 Oracle 数据库:Microsoft .NET Oracle 提供程序、OLE DB .NET 提供程序、ODBC .NET 数据提供程序以及 Oracle 的 ODP.NET 提供程序。本文使用用于