begin
declare v_column int;
set @sql=concat("select ",p_columnName," into v_column from seat_info");
prepare stmt1 from @sql;
execute stmt1;
deallocate prepare stmt1;
end
运行时提示v_column变量没定义,这是怎么回事啊
mysql 字段名做参数
答案:3 悬赏:60 手机版
解决时间 2021-03-21 08:44
- 提问者网友:愿为果
- 2021-03-21 04:33
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-03-21 05:48
1、存储子程序不能包含SQL预处理语句(PREPARE、EXECUTE、DEALLOCATE PREPARE)。隐含意义:不能在存储子程序中使用动态SQL语句(其中,能够以字符串形式构造动态语句,然后执行它们)。从MySQL 5.0.13开始,对于存储程序放宽了该限制,但该限制仍适用于存储函数和触发程序。
2、mssql下的存储过程写法:
create proc proc_ @col varchar(30)
as
begin
declare @sql varchar(100)
set @sql='select ' + @col +' from table_name'
exec(@sql)
end
exec proc_ 'col_name'
2、mssql下的存储过程写法:
create proc proc_ @col varchar(30)
as
begin
declare @sql varchar(100)
set @sql='select ' + @col +' from table_name'
exec(@sql)
end
exec proc_ 'col_name'
全部回答
- 1楼网友:神的生死簿
- 2021-03-21 07:17
alter table liuyan change names username varchar(255);
- 2楼网友:慢性怪人
- 2021-03-21 07:04
存储过程?没用过mysql
mssql下的存储过程写法:
create proc proc_ @col varchar(30)
as
begin
declare @sql varchar(100)
set @sql='select ' + @col +' from table_name'
exec(@sql)
end
exec proc_ 'col_name'
好像后面加上分号就是mysql了吧?哈哈 。。。不知道
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯