我可以做下面这样的事情吗,请告诉我
IF @parameter=1 BEGIN ...查询... END IF @parameter=2
如果可能的话,需要正确的语法。
这是 OLE DB 连接。
不是存储过程。只是一个sql查询
DECLARE @param AS INT = ?;
IF @param = 1
BEGIN
SELECT 1 AS Y;
END
ELSE IF @param = 2
BEGIN
SELECT 2 AS Y;
END
您的查询中有两个问号,并且您可能只传递了一个变量。我见过开发人员两次(或多次)传递相同值的代码。这是低效的。更好的方法是接收 SSIS 变量中传递的参数。优点:
1. 一个值只需传递一次。
2. 更重要的是,如果您更改传递的参数在 sql 中的使用顺序,则无需在执行 SQL 任务编辑器//参数的用户界面上更改它们的顺序。这是安迪·伦纳德后来在回应中提出的建议。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)