MySQL 存储过程中执行动态 SQL 语句

发布于 2022-09-30 12:09:46 字数 1491 浏览 15 评论 0

  1. mysql>
  2. mysql> delimiter $$
  3. mysql>
  4. mysql> CREATE PROCEDURE set_col_value
  5.     ->        (in_table     VARCHAR(128),
  6.     ->         in_column    VARCHAR(128),
  7.     ->         in_new_value VARCHAR(1000),
  8.     ->         in_where     VARCHAR(4000))
  9.     ->
  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)

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文