数据库增删改查操作之通用存储过程
2010-12-20 22:25
330 查看
基于SqlServer!有点标题党,不过应该可以适用于一些普通的小项目。按实际需要再做相应修改吧~特别是字段的长度~
增加(insert into)
(Copy Code)--插入 CREATE PROCEDURE [dbo].[InsertMessage] @strTable varchar(50),--表名 @strValues varchar(5000)--要插入的数据(用英文逗号分隔),如果是字符串类型,需加单引号 as declare @sqlString varchar(5000); set @sqlString = 'insert into '+@strTable+' values ('+@strValues+')'; exec(@sqlString);
删除(delete from)
(Copy Code)--删除(delete from) CREATE PROCEDURE [dbo].[DeleteMessage] @strtable varchar(50),--要删除信息的表名 @strwhere varchar(300)--要删除信息的条件,不用加where,直接:列名=值;如果值是字符串,需加单引号 as declare @sqlString varchar(500); declare @whereString varchar(300); if @strwhere is null or rtrim(@strwhere)='' set @whereString=''; else set @whereString=' where '+@strwhere; set @sql= 'delete from '+@strtable+@whereString; exec(@sql);
查询(Select)
(Copy Code)--查询 CREATE PROCEDURE [dbo].[SelelctMessage] @strTable varchar(50),--要查询的表 @strColum varchar(500),--要查询的字段(*表示全部字段) @strWhere varchar(500)--查询的条件,不用加where,直接 列名=值。如果值是字符串,需加单引号 as declare @sqlString varchar(400); declare @whereString varchar(500); if @strwhere is null or rtrim(@strwhere)=''; set @whereString=''; else set @whereString=' where '+@strwhere; set @sqlString='select '+@strcolum+' from '+@strtable+@whereString; exec(@sqlString);
修改(update)
(Copy Code)CREATE PROCEDURE [dbo].[UpdateMessage] @strTable varchar(50),--要修改的表 @strColumn varchar(500),--要修改的列名(如果有多个,用英文逗号分隔) @strValue varchar(500),--新的值(用英文逗号分隔,如果是字符串,需加单引号) @strWhere varchar(500)--where条件,不加wehere,直接 列名=值,如果值是字符串,需加单引号 as --变量 declare @sqlString nvarchar(4000);--完整的update语句 declare @whereString varchar(500);--where条件 declare @tempString varchar(50);--update语句中间的赋值语句 declare @curr_Column int;--列名字符串的当前位置 declare @curr_Value int;--值字符串的当前位置 declare @prev int;--光标位置 --变量赋初值 set @sqlString = 'update '+@strTable+' set '; set @whereString = ' where '+@strWhere; set @tempString=''; set @curr_Column=1; set @prev=1; --开始循环处理 while @prev < len(@strColumn) begin set @curr_Column=charindex(',',@strColumn,@prev); set @curr_Value= charindex(',',@strValue,@prev); if @curr_Column>@prev set @tempString = substring(@strColumn,@prev,@curr_Column-@prev)+'='+substring(@strValue,@prev,@curr_Value-@prev)+',' +@tempString; else--最后一个 begin set @tempString =@tempString + substring(@strColumn,@prev,len(@strColumn)-@prev+1)+'='+substring(@strValue,@prev,len(@strValue)-@prev+1); break; end set @prev=@curr_Column+1; end set @sqlString = @sqlString+@tempString+@whereString; exec(@sqlString);
相关文章推荐
- JSP数据库操作例程 - 存储过程 - JDBC-ODBC - SQL Server - 1.1版本
- MySQL存储过程跨数据库操作同步数据
- C#中对数据库的基本操作(增删改以及调用存储过程)
- php在执行mysql存储过程后执行其他数据库操作问题解决方法
- 关于在存储过程中使用游标操作数据库
- [数据库] 通用分页存储过程第1/5页
- 利用Java存储过程简化数据库操作
- hibernate操作数据库的存储过程或函数
- 数据库通用访问过程及带传出参数存储过程的使用
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 利用Java存储过程简化数据库操作
- python数据存储系列教程——python中redis数据库操作:连接、增删查改、多级路径
- MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)
- 存储过程跨系统跨数据库操作
- SQLServer2000存储过程中通过数据库链接操作Oracle数据库
- sql批量操作数据库,删除表,删除数据库,删除存储过程,删除视图
- 组长帮忙实现了基类传参无存储过程能多用的数据库操作
- JSP数据库操作例程-存储过程
- Maven构建SpringMVC项目实现注解、数据库事务管理及存储过程操作
- Mysql_知识总结03(级联操作+多表查询【左外连接查询*重点掌握】+数据库的存储过程)