SQL Server编写存储过程小工具 
功能:为给定表创建Update存储过程 
语法: sp_GenUpdate <Table Name>,<Primary Key>,<Stored Procedure Name> 
以northwind 数据库为例 
sp_GenUpdate 'Employees','EmployeeID','UPD_Employees' 

注释:如果您在Master系统数据库中创建该过程,那您就可以在您服务器上所有的数据库中使用该过程。 

===========================================================*/ 
CREATE procedure sp_GenUpdate 
@TableName varchar(130), 
@PrimaryKey varchar(130), 
@ProcedureName varchar(130) 
as 
set nocount on 

declare @maxcol int, 
@TableID int 

set @TableID = object_id(@TableName) 

select @MaxCol = max(colorder) 
from syscolumns 
where id = @TableID 

select 'Create Procedure ' + rtrim(@ProcedureName) as type,0 as colorder into #TempProc 
union 
select convert(char(35),'@' + syscolumns.name) 
+ rtrim(systypes.name) 
+ case when rtrim(systypes.name) in ('binary','char','nchar','nvarchar','varbinary','varchar') then '(' + rtrim(convert(char(4),syscolumns.length)) + ')' 
when rtrim(systypes.name) not in ('binary','char','nchar','nvarchar','varbinary','varchar') then ' ' 
end 
+ case when colorder < @maxcol then ',' 
when colorder = @maxcol then ' ' 
end 
as type, 
colorder 
from syscolumns 
join systypes on syscolumns.xtype = systypes.xtype 
where id = @TableID and systypes.name <> 'sysname' 
union 
select 'AS',@maxcol + 1 as colorder 
union 
select 'UPDATE ' + @TableName,@maxcol + 2 as colorder 
union 
select 'SET',@maxcol + 3 as colorder 
union 
select syscolumns.name + ' = @' + syscolumns.name 
+ case when colorder < @maxcol then ',' 
when colorder = @maxcol then ' ' 
end 
as type, 
colorder + @maxcol + 3 as colorder 
from syscolumns 
join systypes on syscolumns.xtype = systypes.xtype 
where id = @TableID and syscolumns.name <> @PrimaryKey and systypes.name <> 'sysname' 
union 
select 'WHERE ' + @PrimaryKey + ' = @' + @PrimaryKey,(2 * @maxcol) + 4 as colorder 
order by colorder 


select type from #tempproc order by colorder 

drop table #tempproc 
/*===============源程序结束==================*/ 

转载于:https://www.cnblogs.com/mjgforever/archive/2006/04/10/371091.html

SQL Server编写存储过程小工具(三)相关推荐

  1. SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

    很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQL Server中启用CLR ...

  2. SQL Server 2000初识—管理工具与设计基础

    作为关系型数据库的一个代表"SQL Server 2000"可以说是一个比较适合初学者的功能比较全面的数据库管理软件.而这篇文章主要是介绍一些关于SQL Server 2000的管 ...

  3. ExcelToDatabase:批量导入Excel文件到MySQL/Oracle/SQL Server数据库的自动化工具

    ExcelToDatabase:批量导入Excel到MySQL/Oracle/SQL Server数据库的自动化工具 简介 ExcelToDatabase 是一个可以批量导入excel到mysql/o ...

  4. VB实现SQL Server 2000存储过程调用

    VB实现SQL Server 2000存储过程调用 幸运好时机,注册赢手机 2005 三星yepp夏季数码旅游风 [文章信息] 作者: 刘兴权 陈奇 吴兵 刘雪松 时洪飞 时间: 2005-05-19 ...

  5. python 编写实用小工具-toy: python平时积累的笔记以及编写的小工具

    所有人都告诉你怎么活,只有自己没有搞清楚该如何活.相信自己,我们每个人都是主角?? toy Python ?? 献给我亲爱的女朋友--如 ? 介绍 学习 python.matlab 时积累的笔记以及编 ...

  6. SQL Server分页存储过程实践(图解)

    下面来对SQL Server分页存储过程进行一下实做.图解成功的各个步骤. 一 找到大数据量的示例表 分页都是针对大记录数的表:反之有大记录数的表,可能就需要分页.例如银行用户表,就会上千万.下面先做 ...

  7. SQL Server与Oracle、DB2三种数据库比较

    开发数据库应用,选择一个好的数据库是非常重要的.本文从一些方面比较了SQL Server与Oracle.DB2三种数据库,为你选择数据库提供一些参考. 开放性 SQL Server 只能在Window ...

  8. 实验8 SQL Server 的存储过程

    实验8 SQL Server 的存储过程 一.实验目的 1.掌握使用T-SQL编程的方法 2.掌握使用T-SQL语句创建一个存储过程并验证 3.掌握创建和执行带参数的存储过程 4.熟练使用系统存储过程 ...

  9. 易语言 存储过程 mysql_在易语言中调用MS SQL SERVER数据库存储过程(Transact-SQL)方法总结...

    作者:liigo 日期:2010/8/25 Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接 ...

最新文章

  1. oracle 查询空值异常,Oracle中的NULL
  2. (超级详细)jit的介绍和用法
  3. iis 发布MVC HTTP错误 403.14
  4. python编程工具p-这里有123个黑客必备的Python工具!
  5. 提高Service提高进程优先级别,不被系统容易杀死
  6. redis:RDM连接阿里云redis服务器
  7. ORB-SLAM2-金字塔求解-特征点的提取-描述子的计算
  8. server数据库与oracle,浅析Oracle和SQL Server-数据库专栏,ORACLE
  9. Vim用原生雅黑Consolas混合字体
  10. 计蒜客——回文平方数
  11. h264解码延迟优化_JEET Air Plus:延迟优化技术,让你游戏不掉线
  12. java游戏主角用毛笔_Java FX版的毛笔效果
  13. 十五章、KPI(千峰网络安全300课时笔记)
  14. 简单粗暴理解与实现机器学习之K-近邻算法(三):距离度量、欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化距离、余弦距离、汉明距离、杰卡德距离、马氏距离
  15. 不会压测?没关系,手把手教你用jmeter做压力测试及结果分析
  16. 菲尔兹奖-历届获得者
  17. chrome主页被篡改后缀为?tn=49055317_4_hao_pg
  18. MMKV数据存储组件的使用介绍
  19. Python中的StringIO与cStringIO简析
  20. PF_INET 和 AF_INET的区别

热门文章

  1. 牛客练习赛21:A. 黑妹的游戏I
  2. opencv python 实现灰度图像和彩色图像直方图全局均衡化和自适应均衡化
  3. rancher 使用部分运维操作
  4. matlab2c使用c++实现matlab函数系列教程-hankel函数
  5. Nginx编译./configure翻译
  6. Janusec WAF网关安装体验
  7. 图的广度优先搜索算法
  8. Proc恢复数据文件
  9. 单调栈 BZOJ2364 城市美化
  10. arm 添加 samb 文件共享