我在一个过程里面用到了execute immediate,因为后面的SQL是用输入参数生成的,所以想捕捉这个异常.
因此我故意输了一个错误的参数进去,结果发现,就卡在这句了,捕捉异常的RAISE语句在底下一行,根本就没有触发.后来我发现,execute immediate执行动态SQL语句的时候,特别是INTO的时候,必须要有返回值,凡是没有返回值的时候,它都会卡在execute immediate本句.那请教怎么捕捉这里的异常呢?SQL语句本身很简单,随便来一句都可以.select name from test where name='李四';比如,没有'李四'这个人,也就是说没有返回值了,我本来是想把这句的结果给一个变量,然后判断那个变量是否为空,从而捕捉这个异常,可问题是,如果没有返回值,在INTO的时候,直接就报错了!!根本不能往下走!请高手解答,谢谢!