我正在尝试执行以下过程:
ALTER PROCEDURE UFP_PROCEDURE
(@table_name1 varchar(100))
AS
BEGIN
DECLARE @sql varchar(200);
SET @sql = 'UPDATE' + @table_name1 +
'SET' + QUOTENAME(operation) + '=' + 'U' + 'where' + QUOTENAME(last_updated_time) + 'IS NOT NULL' + 'AND' + QUOTENAME(last_created_date) + 'IS NOT NULL' + 'AND' + QUOTENAME(delete_flag) + 'IS NULL'
EXEC(@SQL)
END
我没有获得如何将动态SQL与所有单引号一起使用的情况,并且QUOTENAME
中的列作为无效列给出。
这里@table_name1
是我从Azure管道传递的表名。
如果有人可以提供解决方案.....将非常有帮助。
动态查询中存在多个问题,请按照以下说明进行更改。
ALTER PROCEDURE UFP_PROCEDURE
(@table_name1 varchar(100))
AS
BEGIN
DECLARE @sql varchar(200);
set @sql = 'UPDATE ' + quotename(@table_name1) +
' SET ' + 'operation = U' + ' where' + 'last_updated_time IS NOT NULL AND last_created_date IS NOT NULL AND delete_flag IS NULL'
EXEC(@SQL)
END