是否有可能做一个SQL查询,我可以让我们假设所有列形成用户'A'的行并将它们复制到用户'B'的行中,而无需定义列名称。使用相同的数据复制SQL行,但没有定义所有列
举个例子,这不会反对速度或激烈的数据,而是为了帮助这些任务发挥功能,而不是一次又一次地重复执行它们。基本用户和目标用户的参数将是存储过程参数。
Declare @BaseUserId varchar(50),
@TargetUserId varchar(50),
@ColumnName varchar(100)
Declare columnNameCursor Cursor For SELECT c.name
FROM sys.columns c
WHERE c.object_id = OBJECT_ID('dbo.EmployeeMenuAccess')
--Opens the cursor now for loop reading
Open columnNameCursor
Fetch next From columnNameCursor into @ColumnName
While @@Fetch_Status=0 Begin
update DocSS set @ColumnName = (select @ColumnName from DocSS where
Username = @BaseUserId) where Username = @TargetUserID
Fetch next From c into @ColumnName
End
Close columnNameCursor
Deallocate columnNameCursor
在此先感谢。
你需要它的插入或更新? –
我问这个问题的原因是因为我们复制了很多用户,但没有足够的用户为我们创建一个批处理脚本或过程来设置统一的设置,以便轻松处理。还有其他的表格,我们这样做是因为它有许多列的所有位开关。所以我找到了一种方法来使这更容易,并且在试图比较它们时不太容易丢失一个双开关,但是也可以使它成为我们可以像调用其他许多脚本一样调用的函数。 – Casey
更新,并可能插入。目前只需要专注于更新,因为这是在账户设置期间默认输入字段后完成的,所以99%的时间将是更新。 – Casey