⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4.primarykeys-update_v001.sql

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 SQL
字号:
-- create tmp table #qx_maxkeyscreate table #qx_maxkeys( tablename varchar(255) unique, keyvalue int )go-- select all tables DECLARE @id intDECLARE @tbl varchar(255)DECLARE @col varchar(255)DECLARE @stm nvarchar(4000)DECLARE cur CURSOR FORselect 	so.id, so.name, sc.name from 	sysobjects so, syscolumns sc where 	so.xtype = 'U' and	sc.id = so.id and	sc.typestat = 1 and sc.type = 56 and sc.colid = 1order by so.nameOPEN cur-- fill table #qx_maxkeysFETCH NEXT FROM cur INTO @id, @tbl, @colWHILE (@@FETCH_STATUS = 0)BEGIN	SELECT @stm ='INSERT INTO #qx_maxkeys SELECT lower(''' + @tbl + ''') AS tablename, MAX(' + @col + ') as keyvalue FROM dbo.' + @tbl 	--PRINT 'Select table: ' + @tbl	--PRINT 'Sql: ' + @stm	EXEC( @stm )	if @@error <> 0	begin		raiserror ('Error inserting objects from %s into #qx_maxkeys, search procedure aborted', 16, 1, @tbl)	end	FETCH NEXT FROM cur INTO @id, @tbl, @colENDCLOSE curDEALLOCATE curgoDECLARE @tbl varchar(255)DECLARE @maxkey intDECLARE @curkey intDECLARE @increment intDECLARE cur2 CURSOR FORselect 	tablename, keyvaluefrom 	#qx_maxkeys OPEN cur2-- select from #qx_maxkeysFETCH NEXT FROM cur2 INTO @tbl, @maxkeyWHILE (@@FETCH_STATUS = 0)BEGIN	select @curkey = ISNULL((select keyvalue from dbo.qx_keys where lower(tablename) = lower(@tbl)), 0)	PRINT 'Check table: ' + @tbl + 		', key: ' + cast( @maxkey as varchar(255) ) + 		', cur key: ' + cast( @curkey as varchar(255) )	SELECT @increment = (@maxkey - @curkey)	IF @increment > 0	BEGIN		PRINT 'Set up max key to ' + cast( @increment as varchar(255) )		EXEC dbo.QX_NEXT_KEY @tbl, @increment, @curkey	END	FETCH NEXT FROM cur2 INTO @tbl, @maxkeyENDCLOSE cur2DEALLOCATE cur2go-- drop tmp tabledrop table #qx_maxkeysgo

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -