岗位合并清理、班前会数据同步、
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[SP_DataIdMove] Script Date: 2026-2-6 17:34:01 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
|
||||
ALTER PROC [dbo].[SP_DataIdMove]
|
||||
@exTable NVARCHAR(50) = NULL ,
|
||||
@colums NVARCHAR(50) = NULL ,
|
||||
@trueId NVARCHAR(50) = NULL
|
||||
--,@returnVal int output
|
||||
AS
|
||||
|
||||
BEGIN
|
||||
--DECLARE @returnVal int =0
|
||||
--SET @returnVal = 0
|
||||
DECLARE @OldId nvarchar(50),@NewId nvarchar(50)
|
||||
DECLARE @tablename nvarchar(1000),@columnname nvarchar(1000)
|
||||
DECLARE @sql nvarchar(2000)
|
||||
DECLARE cursor_Id CURSOR FOR -- 定义游标
|
||||
SELECT OldId ,NewIds FROM DataIdMove WHERE ColumType = @colums and NewIds = @trueId
|
||||
OPEN cursor_Id
|
||||
FETCH NEXT FROM cursor_Id INTO @OldId, @NewId -- 抓取下一行游标数据
|
||||
WHILE @@FETCH_STATUS = 0 --(-1 语句失败, -2 被提取行不存在)
|
||||
BEGIN
|
||||
--SET @returnVal=@returnVal+1
|
||||
--print @OldId
|
||||
DECLARE cursor_name CURSOR FOR -- 定义游标
|
||||
SELECT DISTINCT TABLE_NAME,COLUMN_NAME
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE COLUMN_NAME like '%'+@colums+'%' and TABLE_NAME in (SELECT distinct TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE') and TABLE_NAME <> @exTable
|
||||
OPEN cursor_name -- 打开游标
|
||||
FETCH NEXT FROM cursor_name INTO @tablename ,@columnname -- 抓取下一行游标数据
|
||||
WHILE @@FETCH_STATUS = 0 --(-1 语句失败, -2 被提取行不存在)
|
||||
BEGIN
|
||||
SET @sql = 'update ' + @tablename + ' set ' + @columnname + ' =REPLACE('+@columnname+', '''+@OldId+''', '''+@NewId+''') where '+ @columnname + ' like '+'''%'+@OldId+'%'';' ;
|
||||
--print @sql
|
||||
EXEC sp_executesql @sql
|
||||
FETCH NEXT FROM cursor_name INTO @tablename,@columnname;
|
||||
END
|
||||
CLOSE cursor_name -- 关闭游标
|
||||
DEALLOCATE cursor_name -- 释放游标
|
||||
FETCH NEXT FROM cursor_Id INTO @OldId, @NewId
|
||||
END
|
||||
CLOSE cursor_Id -- 关闭游标
|
||||
DEALLOCATE cursor_Id -- 释放游标
|
||||
--SELECT @returnVal
|
||||
END
|
||||
|
||||
|
||||
|
||||
GO
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
|
||||
--겯품삔껸념俚뙈
|
||||
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Meeting_ClassMeeting' AND COLUMN_NAME = 'Remark')
|
||||
BEGIN
|
||||
ALTER TABLE Meeting_ClassMeeting ADD Remark nvarchar(500);
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
--淃커깊껸념俚뙈:悧관데貫、悧관데貫淃커
|
||||
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Base_Project' AND COLUMN_NAME = 'SubjectUnit')
|
||||
BEGIN
|
||||
-- 悧관데貫
|
||||
ALTER TABLE Base_Project ADD SubjectUnit nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL;
|
||||
-- 悧관데貫苟淃커id
|
||||
ALTER TABLE Base_Project ADD SubjectProject nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL;
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user