通用存储过程之一:插入、更新、删除存储过程。--临时存储过程如下:
通用存储过程之一:插入、更新、删除存储过程。

通用存储过程之一:插入、更新、删除存储过程。
CREATE PROC #AutoGeneration_IUD_P
通用存储过程之一:插入、更新、删除存储过程。
@TABLENAME VARCHAR(50),
通用存储过程之一:插入、更新、删除存储过程。
@FLAT  TINYINT
通用存储过程之一:插入、更新、删除存储过程。
AS
通用存储过程之一:插入、更新、删除存储过程。
BEGIN
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @HOST_NAME VARCHAR(200)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @GET_DATE DATETIME
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @HOST_NAME=HOST_NAME(),@GET_DATE=GETDATE()
通用存储过程之一:插入、更新、删除存储过程。 
IF @FLAT=1 --插入
通用存储过程之一:插入、更新、删除存储过程。
 BEGIN
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @INSERT_SQLROC NVARCHAR(4000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @INSERT_SQL VARCHAR(8000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @INSERT_PARAMETER VARCHAR(8000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @INSERT_DESCRIPTION VARCHAR(8000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @INSERT_REMARK VARCHAR(2000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @INSERT_COLUMN VARCHAR(8000)
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @INSERT_SQLROC='',@INSERT_SQL='',@INSERT_PARAMETER='',@INSERT_DESCRIPTION='',
通用存储过程之一:插入、更新、删除存储过程。   
@INSERT_REMARK='',@INSERT_COLUMN=''
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+'IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE ID=OBJECT_ID(''SP_'+@TABLENAME+'_AddNew'') AND XTYPE IN (N''P''))'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+SPACE(5)+'DROP PROC SP_'+@TABLENAME+'_AddNew'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+'GO '
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @INSERT_PARAMETER=@INSERT_PARAMETER+SPACE(4)+'@'+LTRIM(NAME)+SPACE(15-LEN(NAME))+
通用存储过程之一:插入、更新、删除存储过程。     
CASE WHEN xtype=34 THEN 'image'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=35 THEN 'text'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=36 THEN 'uniqueidentifier'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=48 THEN 'tinyint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=52 THEN 'smallint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=56 THEN 'int'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=58 THEN 'smalldatetime'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=59 THEN 'real'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=60 THEN 'money'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=61 THEN 'datetime'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=62 THEN 'float'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=98 THEN 'sql_variant'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=99 THEN 'ntext'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=104 THEN 'bit'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=106 THEN 'decimal'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=108 THEN 'numeric'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=122 THEN 'smallmoney'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=127 THEN 'bigint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=165 THEN 'varbinary'
通用存储过程之一:插入、更新、删除存储过程。          
WHEN xtype=167 THEN 'varchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=173 THEN 'binary'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=175 THEN 'char'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=189 THEN 'timestamp'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=231 THEN 'nvarchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=239 THEN 'nchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=241 THEN 'xml'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=231 THEN 'sysname' END+','+CHAR(10),
通用存储过程之一:插入、更新、删除存储过程。   
@INSERT_REMARK=@INSERT_REMARK+',@'+NAME,
通用存储过程之一:插入、更新、删除存储过程。   
@INSERT_COLUMN=@INSERT_COLUMN+','+NAME
通用存储过程之一:插入、更新、删除存储过程。 
FROM
通用存储过程之一:插入、更新、删除存储过程。  ( 
通用存储过程之一:插入、更新、删除存储过程。  
SELECT NAME,CDEFAULT,A.ID,XTYPE,LENGTH,COLORDER
通用存储过程之一:插入、更新、删除存储过程。  
FROM SYSCOLUMNS A 
通用存储过程之一:插入、更新、删除存储过程。  
WHERE A.ID=OBJECT_ID(''+@TABLENAME+'')
通用存储过程之一:插入、更新、删除存储过程。  
AND COLUMNPROPERTY(A.ID,A.NAME,'IsIdentity')<>1 
通用存储过程之一:插入、更新、删除存储过程。  )TB
通用存储过程之一:插入、更新、删除存储过程。 
ORDER BY COLORDER
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'/*+--------------------------------------+'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 过程名称:SP_'+@TABLENAME+'_AddNew'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 功能说明:插入表'+@TABLENAME+'的存储过程'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 入口参数:'+STUFF(@INSERT_REMARK,1,1,'')+''+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 过程返回:无返回记录'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 维护记录:Y/A'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 使用案例:SP_'+@TABLENAME+'_AddNew'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 工作站名:'+@HOST_NAME+''+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 联系方式:ZLP321001@HOTMAIL.COM'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'| 创建日期:'+CONVERT(VARCHAR(20),@GET_DATE,120)+''+CHAR(10
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_DESCRIPTION=@INSERT_DESCRIPTION+'+--------------------------------------+*/'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @INSERT_SQLROC=@INSERT_SQLROC+CHAR(10)+@INSERT_DESCRIPTION+'CREATE PROC SP_'+@TABLENAME+'_AddNew'
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+CHAR(13)+CHAR(10)+LEFT(@INSERT_PARAMETER,LEN(@INSERT_PARAMETER)-2)+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+'AS'+CHAR(10)+'BEGIN'
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+CHAR(10)+SPACE(4)+'SET NOCOUNT ON'
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQL=SPACE(8)+'INSERT INTO '+@TABLENAME+'('+STUFF(@INSERT_COLUMN,1,1,'')+')'+CHAR(13)+CHAR(10)+SPACE(8)+' SELECT '+STUFF(@INSERT_REMARK,1,1,'')
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+CHAR(10)+CHAR(32)+@INSERT_SQL
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+CHAR(10)+SPACE(8)+' SELECT _ROWCOUNT=@@ROWCOUNT'
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+CHAR(10)+SPACE(4)+'SET NOCOUNT OFF' 
通用存储过程之一:插入、更新、删除存储过程。 
SET @INSERT_SQLROC=@INSERT_SQLROC+CHAR(10)+'END'
通用存储过程之一:插入、更新、删除存储过程。 
PRINT @INSERT_SQLROC+CHAR(10)+'GO '
通用存储过程之一:插入、更新、删除存储过程。 
--EXEC(@INSERT_SQLROC)
通用存储过程之一:插入、更新、删除存储过程。
 --EXEC SP_EXECUTESQL @INSERT_SQLROC
通用存储过程之一:插入、更新、删除存储过程。
 END
通用存储过程之一:插入、更新、删除存储过程。 
IF @FLAT=2 --修改
通用存储过程之一:插入、更新、删除存储过程。
 BEGIN
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @UPDATE_SQLROC VARCHAR(8000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @UPDATE_SQL VARCHAR(8000
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @UPDATE_PARAMETER VARCHAR(1000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @UPDATE_DESCRIPTION VARCHAR(1000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @UPDATE_REMARK VARCHAR(1000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @UPDATE_KEY_COLUMN VARCHAR(1000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @UPDATE_COLUMN VARCHAR(5000)
通用存储过程之一:插入、更新、删除存储过程。 
SELECT  @UPDATE_SQLROC='',
通用存储过程之一:插入、更新、删除存储过程。   
@UPDATE_SQL='',@UPDATE_PARAMETER='',@UPDATE_DESCRIPTION='',
通用存储过程之一:插入、更新、删除存储过程。   
@UPDATE_REMARK='',@UPDATE_KEY_COLUMN='',@UPDATE_COLUMN=''
通用存储过程之一:插入、更新、删除存储过程。 
SET @UPDATE_SQLROC=@UPDATE_SQLROC+'IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE ID=OBJECT_ID(''SP_'+@TABLENAME+'_Update'') AND XTYPE IN (N''P''))'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @UPDATE_SQLROC=@UPDATE_SQLROC+SPACE(5)+'DROP PROC SP_'+@TABLENAME+'_Update'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET @UPDATE_SQLROC=@UPDATE_SQLROC+' GO '
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @UPDATE_PARAMETER=@UPDATE_PARAMETER+SPACE(4)+'@'+LTRIM(NAME)+SPACE(15-LEN(NAME))+
通用存储过程之一:插入、更新、删除存储过程。     
CASE WHEN xtype=34 THEN 'image'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=35 THEN 'text'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=36 THEN 'uniqueidentifier'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=48 THEN 'tinyint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=52 THEN 'smallint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=56 THEN 'int'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=58 THEN 'smalldatetime'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=59 THEN 'real'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=60 THEN 'money'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=61 THEN 'datetime'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=62 THEN 'float'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=98 THEN 'sql_variant'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=99 THEN 'ntext'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=104 THEN 'bit'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=106 THEN 'decimal'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=108 THEN 'numeric'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=122 THEN 'smallmoney'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=127 THEN 'bigint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=165 THEN 'varbinary'
通用存储过程之一:插入、更新、删除存储过程。          
WHEN xtype=167 THEN 'varchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=173 THEN 'binary'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=175 THEN 'char'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=189 THEN 'timestamp'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=231 THEN 'nvarchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=239 THEN 'nchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=241 THEN 'xml'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=231 THEN 'sysname' END+','+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
FROM SYSCOLUMNS A
通用存储过程之一:插入、更新、删除存储过程。    
WHERE ID=OBJECT_ID(''+@TABLENAME+'')
通用存储过程之一:插入、更新、删除存储过程。 
SET NOCOUNT ON
通用存储过程之一:插入、更新、删除存储过程。 
CREATE TABLE #(TABLE_QUALIFIER VARCHAR(100),
通用存储过程之一:插入、更新、删除存储过程。 TABLE_OWNER  
VARCHAR(100),
通用存储过程之一:插入、更新、删除存储过程。 TABLE_NAME   
VARCHAR(100),
通用存储过程之一:插入、更新、删除存储过程。 COLUMN_NAME  
VARCHAR(100),
通用存储过程之一:插入、更新、删除存储过程。 KEY_SEQ      
VARCHAR(50),
通用存储过程之一:插入、更新、删除存储过程。 PK_NAME   
VARCHAR(100))
通用存储过程之一:插入、更新、删除存储过程。 
INSERT INTO # EXEC SP_PKEYS @TABLENAME
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @UPDATE_REMARK=@UPDATE_REMARK+','+COLUMN_NAME+'=@'+COLUMN_NAME
通用存储过程之一:插入、更新、删除存储过程。 
FROM #
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @UPDATE_KEY_COLUMN=@UPDATE_KEY_COLUMN+','+NAME+'=@'+NAME
通用存储过程之一:插入、更新、删除存储过程。 
FROM SYSCOLUMNS A
通用存储过程之一:插入、更新、删除存储过程。    
WHERE ID=OBJECT_ID(''+@TABLENAME+'')
通用存储过程之一:插入、更新、删除存储过程。 
AND NAME NOT IN (SELECT COLUMN_NAME FROM #)
通用存储过程之一:插入、更新、删除存储过程。 
DROP TABLE #
通用存储过程之一:插入、更新、删除存储过程。 
SET NOCOUNT OFF
通用存储过程之一:插入、更新、删除存储过程。  
IF DATALENGTH(@UPDATE_PARAMETER)>0
通用存储过程之一:插入、更新、删除存储过程。  
BEGIN
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_PARAMETER=LEFT(@UPDATE_PARAMETER,LEN(@UPDATE_PARAMETER)-2)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'/*+--------------------------------------+'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 过程名称:SP_'+@TABLENAME+'_Update'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 功能说明:更新表'+@TABLENAME+'的存储过程'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 入口参数:'+STUFF(@UPDATE_REMARK,1,1,'')+''+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 过程返回:无返回记录'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 维护记录:Y/A'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 使用案例:SP_'+@TABLENAME+'_Update'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 工作站名:'+@HOST_NAME+''+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 联系方式:ZLP321001@HOTMAIL.COM'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'| 创建日期:'+CONVERT(VARCHAR(20),@GET_DATE,120)+''+CHAR(10
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_DESCRIPTION=@UPDATE_DESCRIPTION+'+--------------------------------------+*/'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SELECT @UPDATE_SQLROC=@UPDATE_SQLROC+CHAR(10)+@UPDATE_DESCRIPTION+'CREATE PROC SP_'+@TABLENAME+'_Update'
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQLROC=@UPDATE_SQLROC+CHAR(13)+CHAR(10)+@UPDATE_PARAMETER+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQLROC=@UPDATE_SQLROC+'AS'+CHAR(10)+'BEGIN'
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQLROC=@UPDATE_SQLROC+CHAR(10)+SPACE(4)+'SET NOCOUNT ON'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQL=SPACE(8)+'UPDATE '+@TABLENAME+CHAR(10)+SPACE(8)+'SET '
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQLROC=@UPDATE_SQLROC+@UPDATE_SQL+STUFF(@UPDATE_KEY_COLUMN,1,1,'')
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQLROC=@UPDATE_SQLROC+CHAR(10)+SPACE(8)+'FROM '+@TABLENAME+CHAR(10)+SPACE(8)+'WHERE '+STUFF(@UPDATE_REMARK,1,1,'')+''
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQLROC=@UPDATE_SQLROC+CHAR(10)+SPACE(8)+'SELECT _ROWCOUNT=@@ROWCOUNT'
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQLROC=@UPDATE_SQLROC+CHAR(10)+SPACE(4)+'SET NOCOUNT OFF'
通用存储过程之一:插入、更新、删除存储过程。   
SET @UPDATE_SQLROC=@UPDATE_SQLROC+CHAR(10)+'END' 
通用存储过程之一:插入、更新、删除存储过程。   
PRINT @UPDATE_SQLROC+CHAR(13)+CHAR(10)+'GO'
通用存储过程之一:插入、更新、删除存储过程。   
--EXECUTE(@UPDATE_SQLROC+' GO ')
通用存储过程之一:插入、更新、删除存储过程。
  END
通用存储过程之一:插入、更新、删除存储过程。 
END
通用存储过程之一:插入、更新、删除存储过程。 
IF @FLAT=3 --删除
通用存储过程之一:插入、更新、删除存储过程。
 BEGIN
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @DELETE_SQLROC VARCHAR(8000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @DELETE_SQL VARCHAR(8000
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @DELETE_PARAMETER VARCHAR(1000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @DELETE_DESCRIPTION VARCHAR(1000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @DELETE_REMARK VARCHAR(1000)
通用存储过程之一:插入、更新、删除存储过程。 
DECLARE @DELETE_KEY_COLUMN VARCHAR(1000)
通用存储过程之一:插入、更新、删除存储过程。 
SELECT  @DELETE_SQLROC='',@DELETE_SQL='',@DELETE_PARAMETER='',@DELETE_DESCRIPTION='',
通用存储过程之一:插入、更新、删除存储过程。   
@DELETE_REMARK='',@DELETE_KEY_COLUMN=''
通用存储过程之一:插入、更新、删除存储过程。 
SET  @DELETE_SQLROC=@DELETE_SQLROC+'IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE ID=OBJECT_ID(''SP_'+@TABLENAME+'_Remove'') AND XTYPE IN (N''P''))'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET  @DELETE_SQLROC=@DELETE_SQLROC+SPACE(5)+'DROP PROC SP_'+@TABLENAME+'_Remove'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
SET  @DELETE_SQLROC=@DELETE_SQLROC+' GO '
通用存储过程之一:插入、更新、删除存储过程。 
SET NOCOUNT ON
通用存储过程之一:插入、更新、删除存储过程。 
CREATE TABLE #_#(TABLE_QUALIFIER VARCHAR(100),
通用存储过程之一:插入、更新、删除存储过程。 TABLE_OWNER  
VARCHAR(100),
通用存储过程之一:插入、更新、删除存储过程。 TABLE_NAME   
VARCHAR(100),
通用存储过程之一:插入、更新、删除存储过程。 COLUMN_NAME  
VARCHAR(100),
通用存储过程之一:插入、更新、删除存储过程。 KEY_SEQ      
VARCHAR(50),
通用存储过程之一:插入、更新、删除存储过程。 PK_NAME   
VARCHAR(100))
通用存储过程之一:插入、更新、删除存储过程。 
INSERT INTO #_# EXEC SP_PKEYS @TABLENAME
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @DELETE_KEY_COLUMN=@DELETE_KEY_COLUMN+','+COLUMN_NAME+'=@'+COLUMN_NAME,
通用存储过程之一:插入、更新、删除存储过程。   
@DELETE_REMARK=@DELETE_REMARK+',@'+COLUMN_NAME
通用存储过程之一:插入、更新、删除存储过程。 
FROM #_#
通用存储过程之一:插入、更新、删除存储过程。 
SELECT @DELETE_PARAMETER=@DELETE_PARAMETER+SPACE(4)+'@'+LTRIM(NAME)+SPACE(15-LEN(NAME))+
通用存储过程之一:插入、更新、删除存储过程。     
CASE WHEN xtype=34 THEN 'image'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=35 THEN 'text'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=36 THEN 'uniqueidentifier'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=48 THEN 'tinyint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=52 THEN 'smallint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=56 THEN 'int'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=58 THEN 'smalldatetime'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=59 THEN 'real'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=60 THEN 'money'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=61 THEN 'datetime'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=62 THEN 'float'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=98 THEN 'sql_variant'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=99 THEN 'ntext'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=104 THEN 'bit'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=106 THEN 'decimal'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=108 THEN 'numeric'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=122 THEN 'smallmoney'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=127 THEN 'bigint'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=165 THEN 'varbinary'
通用存储过程之一:插入、更新、删除存储过程。          
WHEN xtype=167 THEN 'varchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=173 THEN 'binary'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=175 THEN 'char'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=189 THEN 'timestamp'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=231 THEN 'nvarchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=239 THEN 'nchar'+'('+LTRIM(length)+')'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=241 THEN 'xml'
通用存储过程之一:插入、更新、删除存储过程。       
WHEN xtype=231 THEN 'sysname' END+','+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。 
FROM SYSCOLUMNS A
通用存储过程之一:插入、更新、删除存储过程。    
WHERE ID=OBJECT_ID(''+@TABLENAME+''
通用存储过程之一:插入、更新、删除存储过程。 
AND NAME IN (SELECT COLUMN_NAME FROM #_#)
通用存储过程之一:插入、更新、删除存储过程。 
DROP TABLE #_#
通用存储过程之一:插入、更新、删除存储过程。 
SET NOCOUNT OFF
通用存储过程之一:插入、更新、删除存储过程。  
IF DATALENGTH(@DELETE_PARAMETER)>0
通用存储过程之一:插入、更新、删除存储过程。  
BEGIN
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_PARAMETER=LEFT(@DELETE_PARAMETER,LEN(@DELETE_PARAMETER)-2)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'/*+--------------------------------------+'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 过程名称:SP_'+@TABLENAME+'_Remove'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 功能说明:删除表'+@TABLENAME+'的存储过程'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 入口参数:'+STUFF(@DELETE_REMARK,1,1,'')+''+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 过程返回:无返回记录'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 维护记录:Y/A'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 使用案例:SP_'+@TABLENAME+'_Remove'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 工作站名:'+@HOST_NAME+''+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 联系方式:ZLP321001@HOTMAIL.COM'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'| 创建日期:'+CONVERT(VARCHAR(20),@GET_DATE,120)+''+CHAR(10
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_DESCRIPTION=@DELETE_DESCRIPTION+'+--------------------------------------+*/'+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SELECT @DELETE_SQLROC=@DELETE_SQLROC+CHAR(10)+@DELETE_DESCRIPTION+'CREATE PROC SP_'+@TABLENAME+'_Remove'
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_SQLROC=@DELETE_SQLROC+CHAR(13)+CHAR(10)+@DELETE_PARAMETER+CHAR(10)
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_SQLROC=@DELETE_SQLROC+'AS'+CHAR(10)+'BEGIN'
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_SQLROC=@DELETE_SQLROC+CHAR(10)+SPACE(4)+'SET NOCOUNT ON'
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_SQL='DELETE '+@TABLENAME+CHAR(10)+SPACE(8)+'WHERE '
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_SQLROC=@DELETE_SQLROC+CHAR(10)+SPACE(8)+@DELETE_SQL+STUFF(@DELETE_KEY_COLUMN,1,1,'')
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_SQLROC=@DELETE_SQLROC+CHAR(10)+SPACE(8)+'SELECT _ROWCOUNT=@@ROWCOUNT'
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_SQLROC=@DELETE_SQLROC+CHAR(10)+SPACE(4)+'SET NOCOUNT OFF'
通用存储过程之一:插入、更新、删除存储过程。   
SET @DELETE_SQLROC=@DELETE_SQLROC+CHAR(10)+'END' 
通用存储过程之一:插入、更新、删除存储过程。   
PRINT @DELETE_SQLROC+CHAR(13)+CHAR(10)+'GO'  
通用存储过程之一:插入、更新、删除存储过程。   
--EXECUTE(@DELETE_SQLROC+' GO ') 
通用存储过程之一:插入、更新、删除存储过程。
  END
通用存储过程之一:插入、更新、删除存储过程。 
END
通用存储过程之一:插入、更新、删除存储过程。
END
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。
GO
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。
CREATE PROC #SP_Generation_IUD
通用存储过程之一:插入、更新、删除存储过程。
@TABLENAMES VARCHAR(8000)
通用存储过程之一:插入、更新、删除存储过程。
AS
通用存储过程之一:插入、更新、删除存储过程。
BEGIN
通用存储过程之一:插入、更新、删除存储过程。
DECLARE @I INT
通用存储过程之一:插入、更新、删除存储过程。
DECLARE @TABLENAME VARCHAR(100)
通用存储过程之一:插入、更新、删除存储过程。
SET @I=CHARINDEX(',',@TABLENAMES)
通用存储过程之一:插入、更新、删除存储过程。
WHILE @I>0
通用存储过程之一:插入、更新、删除存储过程。
BEGIN
通用存储过程之一:插入、更新、删除存储过程。 
SET @TABLENAME=LEFT(@TABLENAMES,@I-1)
通用存储过程之一:插入、更新、删除存储过程。 
EXEC #AutoGeneration_IUD_P @TABLENAME,1
通用存储过程之一:插入、更新、删除存储过程。 
EXEC #AutoGeneration_IUD_P @TABLENAME,2
通用存储过程之一:插入、更新、删除存储过程。 
EXEC #AutoGeneration_IUD_P @TABLENAME,3
通用存储过程之一:插入、更新、删除存储过程。 
SET @TABLENAMES=RIGHT(@TABLENAMES,LEN(@TABLENAMES)-@I)
通用存储过程之一:插入、更新、删除存储过程。 
SET @I=CHARINDEX(',',@TABLENAMES)
通用存储过程之一:插入、更新、删除存储过程。
END
通用存储过程之一:插入、更新、删除存储过程。
IF LEN(@TABLENAMES)>0
通用存储过程之一:插入、更新、删除存储过程。
BEGIN
通用存储过程之一:插入、更新、删除存储过程。 
EXEC #AutoGeneration_IUD_P @TABLENAMES,1
通用存储过程之一:插入、更新、删除存储过程。 
EXEC #AutoGeneration_IUD_P @TABLENAMES,2
通用存储过程之一:插入、更新、删除存储过程。 
EXEC #AutoGeneration_IUD_P @TABLENAMES,3
通用存储过程之一:插入、更新、删除存储过程。
END
通用存储过程之一:插入、更新、删除存储过程。
END
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。
GO
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。 
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。
--调用方法如下: exec  #SP_Generation_IUD '表1,表2,表3'
通用存储过程之一:插入、更新、删除存储过程。

通用存储过程之一:插入、更新、删除存储过程。
--Example:
通用存储过程之一:插入、更新、删除存储过程。

通用存储过程之一:插入、更新、删除存储过程。
exec  #SP_Generation_IUD 'ICR_PermittedUrl,ICR_ForbiddenUrl'
通用存储过程之一:插入、更新、删除存储过程。
GO
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。
DROP PROC  #SP_Generation_IUD
通用存储过程之一:插入、更新、删除存储过程。
GO
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。
DROP PROC #AutoGeneration_IUD_P
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。
GO
通用存储过程之一:插入、更新、删除存储过程。
通用存储过程之一:插入、更新、删除存储过程。
--输出结果如下:
通用存储过程之一:插入、更新、删除存储过程。

 

相关文章: