我有一个存储过程,当我注释掉一个简单的IF
语句时,模型很好:
IF LEN(@myVariable) > 0
BEGIN
SET @myVariable = SUBSTRING(@myVariable, 1, LEN(@myVariable)-1)
END
如果我没有注释掉这一行,我会收到错误:
无法检测到以下存储过程的返回类型。在“属性”窗口中设置每个存储过程的返回类型。 dbo.my_stored_procedure
为什么此语句会导致返回类型的自动生成失败?
当我注释掉这行代码时,我得到了我期望的返回类型及其所有属性(在DBML中自动建模)
我缺少一个设置吗?
提前致谢...
答案 0 :(得分:0)
感谢格特让我朝着正确的方向前进。更改语句后,存储过程正确建模,没有任何问题:
IF LEN(@myVariable) > 0
BEGIN
SET @myVariable = SUBSTRING(@myVariable, 1, LEN(@myVariable)-1)
END
为:
IF LEN(@myVariable) > 0
BEGIN
SET @myVariable = LEFT(@myVariable, NULLIF(LEN(@myVariable)-1, -1))
END