用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > sqlserver教程

SQLServer编写存储过程小工具(二)

时间:2014-11-30  来源:互联网  作者:佚名

SQL(SQL Server培训 mySQL培训 )Server编写存储过程小工具

以下是两个存储过程的源程序

/*===========================================================

语法:sp_GenInsert,

以northwind数据库为例

sp_GenInsert'Employees','INS_Employees'

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

=============================================================*/

CREATEproceduresp_GenInsert

@TableNamevarchar(130),

@ProcedureNamevarchar(130)

as

setnocounton

declare@maxcolint,

@TableIDint

set@TableID=object_id(@TableName)

select@MaxCol=max(colorder)

fromsyscolumns

whereid=@TableID

select'CreateProcedure'+rtrim(@ProcedureName)astype,0ascolorderinto#TempProc

union

selectconvert(char(35),'@'+syscolumns.name)

+rtrim(systypes.name)

+casewhenrtrim(systypes.name)in('binary','char','nchar','nvarchar','varbinary','varchar')then'('+rtrim(convert(char(4),syscolumns.length))+')'

whenrtrim(systypes.name)notin('binary','char','nchar','nvarchar','varbinary','varchar')then''

end

+casewhencolorder<@maxcolthen','

whencolorder=@maxcolthen''

end

astype,

colorder

fromsyscolumns

joinsystypesonsyscolumns.xtype=systypes.xtype

whereid=@TableIDandsystypes.name<>'sysname'

union

select'AS',@maxcol+1ascolorder

union

select'INSERTINTO'+@TableName,@maxcol+2ascolorder

union

select'(',@maxcol+3ascolorder

union

selectsyscolumns.name

+casewhencolorder<@maxcolthen','

whencolorder=@maxcolthen''

end

astype,

colorder+@maxcol+3ascolorder

fromsyscolumns

joinsystypesonsyscolumns.xtype=systypes.xtype

whereid=@TableIDandsystypes.name<>'sysname'

union

select')',(2*@maxcol)+4ascolorder

union

select'VALUES',(2*@maxcol)+5ascolorder

union

select'(',(2*@maxcol)+6ascolorder

union

select

selecttypefrom#tempprocorderbycolorder

droptable#tempproc

来顶一下
返回首页
返回首页
推荐资讯
从零开始学ASP.NET-基础篇第1/7页 从零开始学ASP.NET-基础篇第1/7页第一天 学习目的: 掌握最基本的Label、TextBox、Button控件
ASP.NET入门数据篇 ASP.NET入门数据篇对于网站编程的初学者来说,总是会上网找些源码来看,但久而
相关文章
栏目更新
栏目热门