我对嵌套的IF..ELSE条件中的BEGIN .. END感到困惑。 例如,当我尝试执行下面提到的查询时。它是 返回错误 - " ElSE附近的语法不正确.."
IF ( ISNULL(@tin,'')=''AND ISNULL(@prpr_ntwrk,'')<>'' )
BEGIN
IF (ISNULL(@prpr_ntwrk,'')='P')
BEGIN
-- CODE
END
ELSE
BEGIN
-- CODE
END
END
请建议。
答案 0 :(得分:1)
以下是我的建议:
1.-在代码的这一部分提供更多的空格,以便它清晰易读并避免出现问题。
IF ( ISNULL(@tin,'')=''AND ISNULL(@prpr_ntwrk,'')<>'' )
2.-在最后一个END之后插入一个新行
3.-使用isql在终端上运行所有内容,因为交互式SQL有时会出错#/ p>
4.-在if和end之间发布代码。
希望有所帮助
答案 1 :(得分:1)
以下代码在ASE 15.7.0上执行
def get_unnamed_groups(match_obj):
index = 1
while True:
try: yield match_obj.group(index)
except IndexError: break
index += 1
请注意,ASE与空存根混淆了#34; - Code&#34;在最初的例子中。
你的第一个IF声明可能不会做你想要的,但我坚持要求的问题。