mysql存储过程中用变量做表名.docxVIP

  • 8
  • 0
  • 约2.74千字
  • 约 3页
  • 2021-01-11 发布于天津
  • 举报
mysql存储过程中用变量做表名 1.用变量做表名: 简单的用 set 或者 declare 语句定义变量,然后直接作为 sql 的表名是不行的, mysql 会把变 量名当作表名。 在其他的 sql 数据库中也是如此, mysql 的解决方法是将整条 sql 语句作为变 量,其中穿插变量作为表名,然后用 sp_executesql 调用该语句。 这在 mysql5.0 之前是不行的, 5.0 之后引入了一个全新的语句,可以达到类似 sp_executesql 的功能(仅对 procedure 有效, function 不支持动态查询) : PREPARE stmt_name FROM preparable_stmt; EXECUTE stmt_name [USING @var_name [, @var_name] ...]; {DEALLOCATE | DROP} PREPARE stmt_name; 为了有一个感性的认识, 下面先给几个小例子: mysql PREPARE stmt1 FROM SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse; mysql SET @a = 3; mysql SET @b = 4; mysql EXECUTE stmt1 USING @a, @b; TOC \o 1-5 \h \z + + | hy

文档评论(0)

1亿VIP精品文档

相关文档