我创建了一个mysql存储过程,如果我以这种方式调用它(来自MySQL Workbench),它就能正常工作:
call sp_testACL('#-10$+00/00/00;14 #-1$+00/00/00;0 #1$+00/00/00;0 #-2$+00/00/00;14 #-73$+00/00/00;14',3885,'#3885#-9#-80#-10#-70#-14#','89890/0004',@valore);
当我尝试在select语句中使用它时,响应是:
"功能papamysql.SP_TESTACL不存在"。
就像我这样称呼它:
select *
from mytable
where SP_TESTACL('#-10$+00/00/00;14 #-1$+00/00/00;0 #1$+00/00/00;0 #-2$+00/00/00;14 #-73$+00/00/00;14','3885','#3885#-9#-80#-10#-70#-14#','89890/0004','valore')>0;
答案 0 :(得分:0)
你试过吗? 选择 * 来自mytable 其中dbo.SP_TESTACL('# - 10 $ + 00/00/00; 14#-1 $ + 00/00/00; 0#1 $ + 00/00/00; 0#-2 $ + 00 / 00/00; 14#-73 $ + 00/00/00; 14',' 3885',#39;#3885#-9#-80#-10#-70# -14#'' 89890/0004'' valore&#39)大于0;
选择* 来自mytable 其中dbo.databasename.SP_TESTACL('# - 10 $ + 00/00/00; 14#-1 $ + 00/00/00; 0#1 $ + 00/00/00; 0#-2 $ +00/00/00; 14#-73 $ + 00/00/00; 14',' 3885',#39;#3885#-9#-80#-10# - 70#-14#'' 89890/0004'' valore&#39)大于0;
选择* 来自mytable 其中userthatcreatedprocedureid.databasename.SP_TESTACL('# - 10 $ + 00/00/00; 14#-1 $ + 00/00/00; 0#1 $ + 00/00/00; 0#-2 $ +00/00/00; 14#-73 $ + 00/00/00; 14',' 3885',#39;#3885#-9#-80#-10# - 70#-14#'' 89890/0004'' valore&#39)大于0;
您可能需要指定用户和数据库,具体取决于您创建过程的方式以及您将其运行的位置。