[已解决]存储过程报错 Table 'mysql.proc' doesn't exist
2023-11-9 14:05:56
1859
4
我的 mysql 的版本是:8.0.28, 在云表中,使用 外部数据源 - 数据库(表)对接,是没有问题的。(按照https://docs.iyunbiao.com/home/externaldata/19df文档操作)。 但当我对接 存储过程 时,刚点开 存储过程,就报错了。错误消息是:Table 'mysql.proc' doesn't exist。 是怎么回事呢? |
+1
0
4条回帖
create or replace view `mysql`.`proc` as SELECT #CONCAT('show create ' ,p.ROUTINE_TYPE , '`', p.ROUTINE_SCHEMA ,'`.`', p.`SPECIFIC_NAME`,'`;') showSql , p.ROUTINE_SCHEMA db, p.ROUTINE_TYPE type, p.SPECIFIC_NAME name, GROUP_CONCAT(m.PARAMETER_MODE,' ',m.PARAMETER_NAME,' ',m.DTD_IDENTIFIER ORDER BY m.ORDINAL_POSITION SEPARATOR ',\r\n') param_list FROM information_schema.`ROUTINES` p left join information_schema.PARAMETERS m on p.ROUTINE_SCHEMA=m.SPECIFIC_SCHEMA and p.SPECIFIC_NAME=m.SPECIFIC_NAME and p.ROUTINE_TYPE=m.ROUTINE_TYPE WHERE 1=1 and p.ROUTINE_TYPE ='PROCEDURE' and p.ROUTINE_SCHEMA not in ('sys','mysql','performance_schema','information_schema') and p.ROUTINE_SCHEMA = ifnull(database(), p.ROUTINE_SCHEMA) #只显示当前数据库 and left(p.SPECIFIC_NAME,1) <> '_' #过滤_开头的内部函数 #order by p.SPECIFIC_NAME,m.ORDINAL_POSITION GROUP BY p.ROUTINE_SCHEMA, p.ROUTINE_TYPE, p.SPECIFIC_NAME; |
+1
1
最近谁赞过
德福 发表于 2023-11-9 14:05 mysql8.0要用存储过程,要手工建一个视图才行 |
+1
1