为什么我不能执行包含非SP所有者用户的动态SQL的存储过程?
我可以使用SP所有者用户成功执行它,但其他用户则不能。
尽管如此,我已经授予了该SP的权限。
当SP没有动态SQL时,一切正常。
我正在使用Sybase ASE 15.0.3
答案 0 :(得分:2)
我知道了!
如果SP中有动态SQL,则需要也将执行模式更改为“动态”
sp_procxmode sp_name, "dynamic"
以便允许非SP所有者用户成功执行该SP。
答案 1 :(得分:0)
要执行存储过程,用户需要能够访问可能在其上的所有表,视图等,无论是在普通代码中还是在动态代码!