Sql server 执行任何'的程序;选择';命令

Sql server 执行任何'的程序;选择';命令,sql-server,Sql Server,我想创建一个过程,它可以执行数据库中的任何select,并将表名、列名和where子句作为输入参数 我该怎么做呢?作为一种考试练习,这没关系,但在真实环境中千万不要这样做,因为这样会有危险 那么就这样称呼它: exec QueryExecution 'Id, Description', 'MyTable', 'Id > 5 AND Description LIKE ''%some text%''' 注意:如果字符串中需要单引号,则必须通过将它们加倍来对其进行转义,就像您在like子句中看

我想创建一个过程,它可以执行数据库中的任何select,并将表名、列名和where子句作为输入参数


我该怎么做呢?

作为一种考试练习,这没关系,但在真实环境中千万不要这样做,因为这样会有危险

那么就这样称呼它:

exec QueryExecution 'Id, Description', 'MyTable', 'Id > 5 AND Description LIKE ''%some text%'''

注意:如果字符串中需要单引号,则必须通过将它们加倍来对其进行转义,就像您在
like
子句中看到的那样。

您需要动态sql,但为什么要这样做呢?请查看Google for sql Injection,为什么这样做是个坏主意(许多原因之一)谢谢大家的关注,这只是一个考试问题
exec QueryExecution 'Id, Description', 'MyTable', 'Id > 5 AND Description LIKE ''%some text%'''