我有一个针对SQL2005的参数化SQL查询,该查询是通过代码动态创建的,因此我使用ADO.NETSqlParameter类将sql参数添加到中SqlCommand。
SqlParameter
SqlCommand
在上述SQL中,我从具有默认值的表值函数中进行选择。我希望动态sql有时为这些默认参数指定一个值,而其他时候我想指定DEFAULT使用表值函数中定义的SQL 。
DEFAULT
为了保持代码 整洁, 我不想动态添加SQLDEFAULT关键字并在使用非默认值时对其进行参数化,我只是想将其设置DEFAULT为my的值SQLParameter。
SQLParameter
我可以吗?在这种情况下,最佳做法是什么?
SQL查询参数 仅 代替文字值。
您无法发送SQL关键字作为参数值,就像无法发送表标识符,列标识符,值列表(例如IN谓词)或表达式一样。参数的值 始终被 解释为文字值,就像在查询中包含带引号的字符串文字或数字文字一样。
IN
抱歉,但是 在 准备查询 之前, 必须在SQL查询中包含一个SQL关键字。