mysql存储过程中动态表名的使用

问题描述

mysql存储过程中动态表名的使用

BEGIN

if tablename is not null then

declare v_sql varchar(500);

set v_sql = concat('select  WXPayBillID,WXPayMoney FROM ',tablename);

select v_sql;

set @v_sql=v_sql;///这里写的有问题?

prepare stmt from @v_sql;

EXECUTE stmt;

deallocate prepare stmt;

end if;

END
为什么老是提示illegal symbol:'@';我这个存储过程到底哪儿写错了。

解决方案

v_sql已经定义过了,换个名字

解决方案二:

mysql存储过程中表名使用变量名
mysql 存储过程中表名使用参数传入
MYSQL存储过程中 表名 使用变量

时间: 2025-01-20 17:56:20

mysql存储过程中动态表名的使用的相关文章

怎样掌握MySQL数据库中动态表特征

如果一个MyISAM表包含任何可变长度列(VARCHAR, BLOB或TEXTDynamic),或者如果一个表被用ROW_FORMAT=DYNAMIC选项来创建,动态存储格式被使用. 这个格式更为复杂一点,因为每行有一个表明行有多长的头.当一个记录因为更新的结果被变得更长,该记录也可以在超过一个位置处结束. 你可以使用OPTIMIZE TABLE或myisamchk来对一个表整理碎片.如果在一个表中有你频繁访问或改变的固定长度列,表中也有一些可变长度列,仅为避免碎片而把这些可变长度列移到其它表可

在存储过程中动态创建表

在尝试做在线考试系统的过程中,为了管理每个学生的考试信息,就考虑为每个学生创建以学号命名的临时数据表. 在存储过程中动态创建表如果不使用参数的话很好创建.方法如下: ALTER procedure [dbo].[ZXKS_GETSCORE] AS begin transaction --创建临时表,直接命名 create table temp_tablename ( id int primary key, da varchar(300), fs int ) declare @count int

MySQL存储过程中实现执行动态SQL语句的方法_Mysql

本文实例讲述了MySQL存储过程中实现执行动态SQL语句的方法.分享给大家供大家参考.具体实现方法如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE set_col_value -> (in_table VARCHAR(128), -> in_column VARCHAR(128), -> in_new_value VARCHAR(1000), -> in_where VARCHAR(4

MySQL存储过程里动态SQL的使用

MySQL的存储过程不好用,一般在应用开发过程中不建议使用.但有时候在数 据迁移等环境中,特别涉及到复杂点的逻辑处理,就需要存储过程的配合了,当 然,用其他语言写程序实现也是可以的,不过效率估计没有直接在数据库中操作 高. 有时候数据所在的表是不确定的,需要根据实际情况临时决定表名, 这时候就是动态SQL的用武之地了,以下示例展示了在一次数据导出的过程中使用 动态SQL的存储过程例子: delimiter // CREATE PROCEDURE `proc_rt_imp_group`() BEG

.net调用mysql存储过程中输出参数的问题,求救~~

问题描述 环境.net2.0+mysql5.0.37+Connector/Net5.2问题:在ASP.NET中调用mysql存储过程(输出参数名于存储过程输出参数名不同时),提示输出参数不存在:Parameter'@param1'notfoundinthecollection.当ASP.NET中修改输出参数名于存储过程中输出参数名相同的时候,提示一个新的参数未定义:Parameter'@1118079786param1'mustbedefined.而这个参数变量是自动生成的,在存储过程中我并没有

mysql 存储过程中游标与多游标实例

例  代码如下 复制代码 DELIMITER $$ DROP PROCEDURE IF EXISTS getUserInfo $$ CREATE PROCEDURE getUserInfo(in date_day datetime) -- -- 实例 -- MYSQL存储过程名为:getUserInfo -- 参数为:date_day日期格式:2008-03-08 --     BEGIN declare _userName varchar(12); -- 用户名 declare _chines

YII动态模型(动态表名)支持分析_php实例

本文分析了YII动态模型(动态表名)支持机制.分享给大家供大家参考,具体如下: 给YII 框架增加动态模型支持 Yii框架中的数据模型使用静态机制,如果要使用模型方式操作某张数据表,就必须得事先创建数据表对应的模型类(位于 protected/models 目录下),这种方式,在有的情况下给我们的工作带来了一些不便,如仅仅将数据表进行显示,或者数据表是动态生成的,或者要实现数据表模型中的读写分离,(如数据写入与数据呈现逻辑可能定义到不同的模型中,以提高性能,如前后台的分离). 为解决这个问题,经

update-Update语句中的表名不能用参数代替吗

问题描述 Update语句中的表名不能用参数代替吗 asp连接access数据库中dim strSql strSql2strSql=""Update 东方不败 Set Sfhwhy='Y' where name='""&hy&""'"" conn2.Execute(strSql)上述语句中的表名是东方不败,我们直接写到了查询语句中,是可行的,但遗憾的是,用参数来替代就是不行Dim kmkm="&quo

MySQL存储过程中的事务管理实例说明

mysql存储过程中事务SQL代码  delimiter $$  use test$$  create procedure t_insert_table()  begin      /** 标记是否出错 */      declare t_error int default 0;      /** 如果出现sql异常,则将t_error设置为1后继续执行后面的操作 */      declare continue handler for sqlexception set t_error=1; -