国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

sql游標的使用和分割字符串

2024-07-21 02:51:37
字體:
來源:轉載
供稿:網友
mark防止以后要用到:
分割字符串的函數:
/*Created By:xumhCreated Date:2013-11-8Description:SQL分割字符串函數 @str 字符串 @splitchar 分隔符*/ALTER     FUNCTION   [dbo].[fn_sys_SplitStr](@str   VARCHAR(8000),@splitchar   VARCHAR(100))     RETURNS   @temp   TABLE(ID   VARCHAR(100))     AS       BEGIN     DECLARE   @ch   AS   VARCHAR(100)     SET   @str=@str+@splitchar       WHILE(@str<>'')                     BEGIN                     SET   @ch=LEFT(@str,CHARINDEX(@splitchar,@str,1)-1)     INSERT   @temp   VALUES(@ch)     SET   @str=STUFF(@str,1,CHARINDEX(@splitchar,@str,1),'')                     END     RETURN     END
進行游標的使用和字符串的分割 
ALTER PROCEDURE [dbo].[sp_ServiceHandoverIssues_SSApply2IS2SSCheck2Pool] @TaskID INTAS    BEGIN        DECLARE @error INT            DECLARE @temp VARCHAR(50)        DECLARE @Gridorder INT        DECLARE @ProjectID NVARCHAR(50)        DECLARE @ProjectNo NVARCHAR(50)        DECLARE @ContractNo NVARCHAR(50)        DECLARE @RectificationDate DATETIME        DECLARE @IssuesItem NVARCHAR(50)        DECLARE @IsComplete NVARCHAR(50)        DECLARE @RectificationRemark NVARCHAR(500)          SET @Gridorder = 0        SET @error = 0    --申明游標為ContractNo        DECLARE order_cursor CURSOR        FOR            SELECT  ProjectID ,                    ProjectNo ,                    ContractNo ,                    RectificationDate ,                    IssuesItem            FROM    Form_ServiceHandover_DIssues4SSApply            WHERE   TaskID = @TaskID    --打開游標--        OPEN order_cursor    --開始循環游標變量--        FETCH NEXT FROM order_cursor INTO @ProjectID, @ProjectNo, @ContractNo,            @RectificationDate, @IssuesItem         WHILE @@FETCH_STATUS = 0    --返回被 FETCH語句執行的最后游標的狀態--            BEGIN    			--數據目的表1安裝監督反饋遺留項整改情況表Form_ServiceHandover_DIssues4IS--                        INSERT  INTO [dbo].[Form_ServiceHandover_DIssues4IS]                        ( TaskID ,                          Gridorder ,                          ProjectID ,                          ProjectNo ,                          ContractNo ,                          RectificationDate ,                          IssuesItem                        )                        SELECT  @TaskID ,                                @Gridorder                                + ( ROW_NUMBER() OVER ( ORDER BY [ID] ) ) ,                                @ProjectID ,                                @ProjectNo ,                                @ContractNo ,                                @RectificationDate ,                                [ID]                        FROM    dbo.fn_sys_SplitStr(@IssuesItem, ',')                        						--表Form_ServiceHandover_DIssues4SSCheck--                INSERT  INTO [dbo].[Form_ServiceHandover_DIssues4SSCheck]                        ( TaskID ,                          Gridorder ,                          ProjectID ,                          ProjectNo ,                          ContractNo ,                          IssuesItem                        )                        SELECT  @TaskID ,                                @Gridorder                                + ( ROW_NUMBER() OVER ( ORDER BY [ID] ) ) ,                                @ProjectID ,                                @ProjectNo ,                                @ContractNo ,                                [ID]                        FROM    dbo.fn_sys_SplitStr(@IssuesItem, ',')						--表TB_ServiceHandover_IssuesPool--                INSERT  INTO [dbo].[TB_ServiceHandover_IssuesPool]                        ( ProjectID ,                          ProjectNo ,                          ContractNo ,                          IssuesItem                        )                        SELECT  @ProjectID ,                                @ProjectNo ,                                @ContractNo ,                                [ID]                        FROM    dbo.fn_sys_SplitStr(@IssuesItem, ',')                SELECT  @Gridorder = @Gridorder + COUNT(*)                FROM    dbo.fn_sys_SplitStr(@IssuesItem, ',');                SET @error = @error + @@ERROR   --記錄每次運行sql后是否正確,0正確                FETCH NEXT FROM order_cursor INTO @ProjectID, @ProjectNo,                    @ContractNo, @RectificationDate, @IssuesItem    --轉到下一個游標,沒有會死循環            END            CLOSE order_cursor  --關閉游標        DEALLOCATE order_cursor   --釋放游標    ENDGO
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双峰县| 金门县| 师宗县| 勃利县| 宝清县| 东港市| 江川县| 五原县| 连城县| 南漳县| 荆州市| 平舆县| 鸡西市| 巴东县| 邹城市| 遂溪县| 日照市| 马关县| 余干县| 柳河县| 定州市| 治县。| 确山县| 定西市| 宿州市| 青岛市| 平乐县| 土默特右旗| 望谟县| 灵武市| 彭阳县| 鹿邑县| 河北区| 应用必备| 厦门市| 博白县| 龙游县| 峨边| 夹江县| 高平市| 仙游县|