sql存储过程 1查询;2插入;3更新;4删除

原创 2007年09月30日 09:36:00
CREATE PROCEDURE dbo.p
   
@actions int,  --对表的操作类型:1--查询;2--插入;3--更新;4--删除
    @tablename varchar(50), --传入的表名
    @fields varchar(5000), --传入的字段参数
   
@filters varchar(5000), --传入的过滤条件
   
@sort varchar(50--传入的排序字段
AS
   
declare @sqlstr varchar(1000)
   
if @actions = 1   --检索数据
       
BEGIN
            
if @fields <> ''   --如果传入的检索字段不为空,则检索指定的字段
                  set @sqlstr = 'select ' + @fields + ' from '+ @tablename
            
else
                 
set @sqlstr = 'select * from '+ @tablename
            
if @filters <> ''   --如果传入的过滤条件不为空,则检索指定条件的sql
                  set @sqlstr = @sqlstr + ' where ' + @filters
            
if @sort <> ''  --如果传入的排序字段不为空,则按指定的字段排序
              set @sqlstr = @sqlstr + ' order by ' + @sort

            
exec(@sqlstr)  --执行检索
   
END

   
if @actions = 2   --插入数据")
       
exec('insert into '+ @tablename + ' (' + @fields + ') values(' + @filters + ')')

   
if @actions = 3   --更新数据")
   
BEGIN
        
if @filters <> ''   --如果传入的过滤条件不为空,则更新指定条件的行")
             exec('update '+ @tablename + '  set ' + @fields + ' where ' + @filters )
        
else
            
exec('update '+ @tablename + '  set ' + @fields ) --更新所有行
   
END

   
if @actions = 4   --删除数据")
   
BEGIN
        
if @filters <> ''   --如果传入的过滤条件不为空,则删除指定条件的行")
             exec('delete from '+ @tablename + '  where ' + @filters)
        
else
            
exec('delete from '+ @tablename)     --删除所有行
      
END

   
if @@ERROR = 0
       
RETURN 0
   
GO

--调用---
--
-p 1,'[link] as a',' top 32 *',' checked=1 and paiming is not null and logoURL is null ','paiming' 

输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻

原文地址:http://www.java2000.net/viewthread.jsp?tid=6323先看代码吧:import java.util.ArrayList;import java.uti...
  • java2000_net
  • java2000_net
  • 2008年06月17日 19:42
  • 4478

SqlServer 将存储过程查询的数据插入一张表

insert into  Table1  exec SP_******    @par
  • chenghaibing2008
  • chenghaibing2008
  • 2012年07月11日 17:56
  • 964

sql语句增加、查找、更新存储过程(包括后台.net 调用)

sql语句增加、查找、更新存储过程(包括后台.net 调用) 基本的一些存储过程知识,在学习中总结一下,与大家分享,有问题多赐教!...
  • zhizhuomsj
  • zhizhuomsj
  • 2016年08月05日 16:00
  • 325

SQL语句快速查询存在某个值的所有存储过程

SQL语句快速查询存在某个值的所有存储过程
  • laijieyao
  • laijieyao
  • 2015年01月29日 09:13
  • 1920

hpuoj 1005: C语言考试练习题_排列【dfs】

C语言考试练习题_排列 题目描述 有4个互不相同的数字,输出由其中三个不重复数字组成的排列。 输入 4个整数。 输出 所有排列。 样例输入 1 2 3 4 样例输出 1 2 ...
  • liuke19950717
  • liuke19950717
  • 2015年08月07日 21:00
  • 795

求1! + 2! + 3! + 4! + …… + 10!的和 叹号表示阶乘,如4! = 1 * 2 * 3 * 4

求1! + 2! + 3! + 4! + …… + 10!的和 叹号表示阶乘,如4! = 1 * 2 * 3 * 4function jie(a){ var s = 1; ...
  • qq_21109153
  • qq_21109153
  • 2016年04月09日 23:48
  • 1091

SQL 利用存储过程实现对表数据有则更新无则添加

如果某一操作包含大量的T-SQL语句代码,分别被多次执行,那么存储过程要比批处理的执行速度快得多。因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表...
  • luotuomianyang
  • luotuomianyang
  • 2016年07月24日 11:33
  • 1537

sqlserver查询存储过程的创建时间及最后修改时间

select  [name]  ,create_date  ,modify_date FROM  sys.all_objects where  type_desc = ...
  • zhengfeng2100
  • zhengfeng2100
  • 2016年09月23日 08:53
  • 2103

n!=1*2*3*4*……*n的运算

#include main() { int i,n,sum; printf("input,n:"); scanf("%d",&n); sum=1; for (...
  • XG_1738241417103
  • XG_1738241417103
  • 2017年11月07日 10:41
  • 204

数论专题训练2016.3.21

题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110042#overview  密码:nefu 一些题目相对简单了些: A题...
  • PNAN222
  • PNAN222
  • 2016年03月22日 17:50
  • 358
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql存储过程 1查询;2插入;3更新;4删除
举报原因:
原因补充:

(最多只允许输入30个字)