91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網站管理員

sql2005創(chuàng)建存儲過程導出數據inset插入語句-如何導出數據

liguoquan
2023年3月29日 16:19 本文熱度 1381
:sql2005創(chuàng)建存儲過程導出數據inset插入語句-如何導出數據



存儲過程代碼如下圖:

create PROCEDURE [dbo].[Proc_Generateinsert]

@tablename SYSNAME,

@filter NVARCHAR(500),

@Order NVARCHAR(500)

AS

DECLARE @column VARCHAR(MAX)   

DECLARE @columndata VARCHAR(MAX)   

DECLARE @sql VARCHAR(MAX)   

DECLARE @xtype TINYINT   

DECLARE @name SYSNAME   

DECLARE @objectId INT   

DECLARE @objectname SYSNAME   

DECLARE @ident INT   

SET NOCOUNT ON   

SET @objectId = OBJECT_ID(@tablename)   

IF @objectId IS NULL -- 判斷對象是否存在

BEGIN

    PRINT 'The object not exists' 

    RETURN

END

SET @objectname = RTRIM(OBJECT_NAME(@objectId))   

IF @objectname IS NULL

   OR CHARINDEX(@objectname, @tablename) = 0 --此判斷不嚴密

BEGIN

    PRINT 'object not in current database' 

    RETURN

END   

IF OBJECTPROPERTY(@objectId, 'IsTable') < > 1 -- 判斷對象是否是table

BEGIN

    PRINT 'The object is not table' 

    RETURN

END   

select @ident = STATUS & 0x80

from   syscolumns

where  id = @objectid

       AND STATUS & 0x80 = 0x80   

IF @ident IS NOT NULL

    PRINT 'SET IDENTITY_insert ' + @TableName + ' ON'   

DECLARE syscolumns_cursor CURSOR  

FOR

    select c.name,

           c.xtype

    from   syscolumns c

    where  c.id = @objectid

    ORDER BY

           c.colid 

OPEN syscolumns_cursor   

SET @column = ''   

SET @columndata = '' 

FETCH NEXT from syscolumns_cursor INTO @name,@xtype   

WHILE @@fetch_status < > -1

BEGIN

    IF @@fetch_status < > -2

    BEGIN

        IF @xtype NOT IN (189, 34, 35, 99, 98) --timestamp不需處理,image,text,ntext,sql_variant 暫時不處理

        BEGIN

            SET @column = @column + CASE 

                                         WHEN LEN(@column) = 0 THEN ''

                                         ELSE ','

                                    END + '[' + RTRIM(@name) +']'  

            

            SET @columndata = @columndata + CASE 

                                                 WHEN LEN(@columndata) = 0 THEN 

                                                      ''

                                                 ELSE ','','','

                                            END 

                

                + CASE 

                       WHEN @xtype IN (167, 175) THEN '''''''''+rtrim([' + @name

                            + '])+''''''''' --varchar,char

                       WHEN @xtype IN (231, 239) THEN '''''''''+rtrim([' + @name

                            + '])+''''''''' --nvarchar,nchar

                       WHEN @xtype = 61 THEN '''''''''+convert(char(23),[' + 

                            @name + '],121)+''''''''' --datetime

                       WHEN @xtype = 58 THEN '''''''''+convert(char(16),[' + 

                            @name + '],120)+''''''''' --smalldatetime

                       WHEN @xtype = 36 THEN '''''''''+convert(char(36),[' + 

                            @name + '])+''''''''' --uniqueidentifier

                       ELSE '[' + RTRIM(@name) + ']'

                  END

        END

    END 

    FETCH NEXT from syscolumns_cursor INTO @name,@xtype

END 

CLOSE syscolumns_cursor 

DEALLOCATE syscolumns_cursor   

SET @sql = 'set nocount on select ''insert ' + @tablename + '(' + @column + 

    ') values(''as ''--'',' + RTRIM(@columndata) + ','')'' from ' + @tablename  

IF @filter IS NOT NULL

   AND LEN(RTRIM(@filter)) <> 0

    SET @sql = @sql + ' where ' + @filter  

IF @Order IS NOT NULL

   AND LEN(RTRIM(@Order)) <> 0

    SET @sql = @sql + ' Order By ' + @Order 

PRINT '--' + @sql   

exec (@sql)   

IF @ident IS NOT NULL

    PRINT 'SET IDENTITY_insert ' + @TableName + ' OFF'  

創(chuàng)建完后,執(zhí)行存儲過程,要輸入三個變量,@tablename是表名,@filter是斷點查詢條件,接where后的條件,@Order是排序,按哪個字段排序,若全導,設為空即可

代碼如下圖:

exec Proc_Generateinsert @tablename='scm_bom_list',@filter='',@Order=''

執(zhí)行完把結果復制出來執(zhí)行即可

如下圖:



該文章在 2023/3/29 16:19:59 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国精产品一区 | 乱码伦视频免费 | 国产精品青草综合久 | 国产女同百合91 | 精品国产AⅤ | 日本女优 | 午夜国产精品精品 | 国产绿帽视频网站 | 国产欧美精品v | 成人勉费视频 | 91人成亚洲高清 | 日韩在线国产播放 | 韩国成年性午夜 | 日韩在线高清视频 | 91国产爽爽黄还在 | 最新中文字幕第一页 | 成人尤物 | 精品一区卡2卡3卡 | 碰夜夜澡日日澡 | 国产福利一区二区 | 国自产视频在线观看 | 日本不卡高清 | 日韩制服丝 | 国产亚洲老熟女视频 | 久涩导航 | 无码精品人妻一区二区三 | 97高清国语自产拍 | 日本午夜一级视频 | 日本综合欧美 | 99ri国产在线| 激情欧美经典日韩 | 日韩高清在线播放不 | 国产无遮 | 国产精品淫福建 | 欧美日韩性视频 | 精品亚洲欧美日韩 | 99爽99| 福利资源导航 | 狠狠狠地啪香蕉 | 国产在线精品一区二 | 91日韩欧美 |