感谢您的反馈,但我希望得到UPDATE命令的帮助,而不是SELECT。 任何人都可以帮助UPDATE命令的语法吗?
我将表名传递给存储过程但SQL似乎无法识别它。
DECLARE @userTable AS VARCHAR(200);
SET @userTable = @currTable
UPDATE @userTable
SET [lang_String] = @lang_String, [date_Changed] = @submitDate1
WHERE (ID = @ID)
@currTable
被传递到存储过程。所有表名都是按代码设计构建的。
答案 0 :(得分:5)
你不能,你需要构建整个SQL字符串,然后执行它,例如:
DECLARE @sql nvarchar(4000)
SELECT @sql = ' SELECT col1, col2, col3 ' +
' FROM dbo.' + quotename(@tblname) +
' WHERE keycol = @key'
EXEC sp_executesql @sql, N'@key varchar(10)', @key
答案 1 :(得分:0)
让这个很容易上班......
@myTable varchar(150)
/* Comments:
*/
AS
SET NOCOUNT ON;
DECLARE @sql varchar(max);
SET @sql = 'SELECT [ID], [StringID], [GUID] FROM ' + @myTable + ' ORDER BY [GUID]';
print (@sql)
EXECUTE(@sql);
SET @langTable = Null;
仅供参考,myTable可用的值存储在另一个表中,用户无法进行编辑。表名是基于唯一值组合在代码中动态构建的。