我对此很陌生,我很难将下面的SQL查询转换为存储过程的UPDATE语句。
SELECT 'select'+
stuff((
SELECT ',' + 'dbo.' + Function_Name + '(' + Parameters_List + ')' FROM
[SPECIFIC_DATABASE]..Specific_table c WHERE c.Table_Name = t.Table_Name FOR
XML PATH('')),1,1,'')
+' from [' + Database_Name +'].[dbo].['+Table_Name+'] '
+ 'Where Audit_ID>' + CAST(@Audit_ID as nvarchar(100))
As 'Specific Queries'
FROM (SELECT Distinct Database_Name, Table_Name FROM [SPECIFIC_DATABASE]..Specific_table) t
UPDATE查询应该类似于
UPDATE Table_name
SET Column_name = Function_Name(Parameters_List)
WHERE Audit_id >= @Audit_ID
FROM [SPECIFIC_DATABASE]..Specific_table
对此的任何建议和指导都将非常感谢!
答案 0 :(得分:1)
我认为这应该会给你你想要的东西,但是我没有看到任何对Column_Name的引用,所以我假设你会硬编码。
select 'UPDATE tbl' + stuff((
select ' set Column_Name = ' + 'dbo.' + Function_Name + '(' + Parameters_List + ')'
from [SPECIFIC_DATABASE]..Specific_table c
where c.Table_Name = t.Table_Name
for xml PATH('')
), 1, 1, '')
+ ' from [' + Database_Name + '].[dbo].[' + Table_Name + '] tbl'
+ 'Where Audit_ID>'
+ CAST(@Audit_ID as nvarchar(100)) as 'Specific Queries'
from (
select distinct Database_Name, Table_Name
from [SPECIFIC_DATABASE]..Specific_table
) t
如果答案不对,那么如果您发布第一个查询的当前输出可能会有所帮助,也可能会更新一些关于名为"Specific_table"
的表格内容的详细信息。