mysql 存储过程 调用参数

czg2020czg 2012-09-25 08:57:22
写一个存储过程
create procedure test (IN test char(20))
READ SQL DATA
BEGIN
select * from test.table;
end;
报错,说没有test.table,我想引用的是参数的数据库名称,但是报错,不知道mysql有没有这样的写法,识别参数 test.table test是参数,是数据库名,table是实际的表名(有这个表table)
...全文
64 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2012-09-25
  • 打赏
  • 举报
回复


mysql>





02

mysql> delimiter $$





03

mysql>





04

mysql> CREATE PROCEDURE set_col_value





05

-> (in_table VARCHAR(128),





06

-> in_column VARCHAR(128),





07

-> in_new_value VARCHAR(1000),





08

-> in_where VARCHAR(4000))





09

->





10

-> BEGIN





11

-> DECLARE l_sql VARCHAR(4000);





12

-> SET l_sql=CONCAT_ws(' ',





13

-> 'UPDATE',in_table,





14

-> 'SET',in_column,'=',in_new_value,





15

-> ' WHERE',in_where);





16

-> SET @sql=l_sql;





17

-> PREPARE s1 FROM @sql;





18

-> EXECUTE s1;





19

-> DEALLOCATE PREPARE s1;





20

-> END$$





21

Query OK, 0 rows affected (0.00 sec)


例子
--小F-- 2012-09-25
  • 打赏
  • 举报
回复
有的 只不过需要写成动态的。
快溜 2012-09-25
  • 打赏
  • 举报
回复
出门左转到mysql板块

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧