通用存储过程之三:根据主键的值,查询记录的存储过程CREATE PROC #AutoGeneration_Load_P
通用存储过程之三:根据主键的值,查询记录的存储过程
@TABLENAME VARCHAR(50)
通用存储过程之三:根据主键的值,查询记录的存储过程
AS
通用存储过程之三:根据主键的值,查询记录的存储过程
BEGIN
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @HOST_NAME VARCHAR(200)
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @GET_DATE DATETIME
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @SQLROC VARCHAR(4000)
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @REMARK VARCHAR(2000)
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @SQL VARCHAR(2000)
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @PARAMETER VARCHAR(2000)
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @DESCRIPTION VARCHAR(8000)
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @WHERE_SQL VARCHAR(2000)
通用存储过程之三:根据主键的值,查询记录的存储过程 
DECLARE @ROWCOUNT INT
通用存储过程之三:根据主键的值,查询记录的存储过程 
SELECT @SQLROC='',@DESCRIPTION='',@PARAMETER='',@REMARK='',@WHERE_SQL='',@SQL='',
通用存储过程之三:根据主键的值,查询记录的存储过程   
@HOST_NAME=HOST_NAME(),@GET_DATE=GETDATE()
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+'IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE ID=OBJECT_ID(''SP_'+@TABLENAME+'_Load'') AND XTYPE IN (N''P''))'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+SPACE(5)+'DROP PROC SP_'+@TABLENAME+'_Load'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@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 @REMARK=@REMARK+',@'+COLUMN_NAME,
通用存储过程之三:根据主键的值,查询记录的存储过程   
@WHERE_SQL=@WHERE_SQL+' AND '+COLUMN_NAME+'=@'+COLUMN_NAME+''
通用存储过程之三:根据主键的值,查询记录的存储过程 
FROM #
通用存储过程之三:根据主键的值,查询记录的存储过程 
SELECT @PARAMETER=@PARAMETER+SPACE(4)+'@'+LTRIM(NAME)+SPACE(20-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
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'/*+--------------------------------------+'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 过程名称:SP_'+@TABLENAME+'_Load'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 功能说明:查询表'+@TABLENAME+'记录集合的存储过程'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 入口参数:'+STUFF(@REMARK,1,1,'')+''+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 过程返回:返回所有记录集'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 维护记录:Y/A'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 使用案例:SP_'+@TABLENAME+'_Load'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 工作站名:'+@HOST_NAME+''+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 联系方式:zlp321001@hotmail.com'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'| 创建日期:'+CONVERT(VARCHAR(20),@GET_DATE,120)+''+CHAR(10
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @DESCRIPTION=@DESCRIPTION+'+--------------------------------------+*/'+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SELECT @SQLROC=@SQLROC+CHAR(10)+@DESCRIPTION+'CREATE PROC SP_'+@TABLENAME+'_Load'
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+CHAR(13)+CHAR(10)+LEFT(@PARAMETER,LEN(@PARAMETER)-2)+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+'AS'+CHAR(10)+'BEGIN'
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+CHAR(10)+SPACE(4)+'SET NOCOUNT ON'
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+CHAR(32)+@SQL
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+CHAR(10)+SPACE(8)+'SELECT * FROM '+@TABLENAME+' WHERE '+STUFF(@WHERE_SQL,1,4,'')+CHAR(10)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+SPACE(4)+'SET NOCOUNT OFF' 
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @SQLROC=@SQLROC+CHAR(10)+'END'
通用存储过程之三:根据主键的值,查询记录的存储过程 
PRINT @SQLROC+CHAR(10)+'GO '
通用存储过程之三:根据主键的值,查询记录的存储过程
END
通用存储过程之三:根据主键的值,查询记录的存储过程
通用存储过程之三:根据主键的值,查询记录的存储过程
GO
通用存储过程之三:根据主键的值,查询记录的存储过程
通用存储过程之三:根据主键的值,查询记录的存储过程
CREATE PROC #SP_Generation_Load
通用存储过程之三:根据主键的值,查询记录的存储过程
@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_Load_P @TABLENAME
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @TABLENAMES=RIGHT(@TABLENAMES,LEN(@TABLENAMES)-@I)
通用存储过程之三:根据主键的值,查询记录的存储过程 
SET @I=CHARINDEX(',',@TABLENAMES)
通用存储过程之三:根据主键的值,查询记录的存储过程
END
通用存储过程之三:根据主键的值,查询记录的存储过程
IF LEN(@TABLENAMES)>0
通用存储过程之三:根据主键的值,查询记录的存储过程
BEGIN
通用存储过程之三:根据主键的值,查询记录的存储过程 
EXEC #AutoGeneration_Load_P @TABLENAMES
通用存储过程之三:根据主键的值,查询记录的存储过程
END
通用存储过程之三:根据主键的值,查询记录的存储过程
END
通用存储过程之三:根据主键的值,查询记录的存储过程
GO
通用存储过程之三:根据主键的值,查询记录的存储过程
通用存储过程之三:根据主键的值,查询记录的存储过程
--测试
通用存储过程之三:根据主键的值,查询记录的存储过程
#SP_Generation_Load 't'
通用存储过程之三:根据主键的值,查询记录的存储过程
通用存储过程之三:根据主键的值,查询记录的存储过程
drop proc #AutoGeneration_Load_P
通用存储过程之三:根据主键的值,查询记录的存储过程
drop proc #SP_Generation_Load 
通用存储过程之三:根据主键的值,查询记录的存储过程
通用存储过程之三:根据主键的值,查询记录的存储过程
--测试结果:
通用存储过程之三:根据主键的值,查询记录的存储过程


 

相关文章:

  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2021-09-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-04
  • 2021-07-23
  • 2021-06-13
  • 2022-12-23
  • 2022-12-23
  • 2021-09-24
  • 2021-08-07
相关资源
相似解决方案