如何从记录中检索字符串(如'select 1')并将其传递给sp_executesql以使其求值?
谢谢
发布于 2009-07-24 09:56:33
像这样的东西?
DECLARE @MySQL nvarchar(MAX)
SELECT @MySql = SqlColumn FROM MyTable WHERE MyId = 1
EXEC(@MySql)发布于 2009-07-24 10:03:55
在这里,使用sp_executeSQL
DECLARE @MySQL NVARCHAR(MAX)
SELECT @MySQL = 'select top 1 * from Information_schema.tables'
EXEC sp_executeSQL @MySQLSQL:SQL要获得很棒的读物,有些人将其称为使用动态T-的权威指南,请参阅下面的文章:
发布于 2009-07-24 10:05:38
只是为了补充罗宾的答案。重要的是要确保你在字段中有针对恶意SQL的保护-你不能说语句是如何进入数据库的,但你需要非常小心,不要让坏的SQL进入数据库(例如,不希望你的数据被恶意语句删除)!
https://stackoverflow.com/questions/1176708
复制相似问题