1樓:匿名使用者
這個問題在mysql 以前非常麻煩,但是在mysql 版之後,由於引入了prepare語句,一切變得簡單了。
例子如下(已驗證):
drop procedure if exists `newtable`;
create procedure `newtable`(in tname varchar(64))
beginset @sqlcmd = concat('create table ',tname, 'id int not null auto_increment, name varchar(64) default null, primary key (`id`))
prepare stmt from @sqlcmd;
execute stmt;
deallocate prepare stmt;
end; call newtable('abc');
2樓:
儲存子程式不能包含sql預處理語句(prepare、execute、deallocate prepare)。隱含意義:不能在儲存子程式中使用動態sql語句(其中,能夠以字串形式構造動態語句,然後執行它們)。
從mysql 開始,對於儲存程式放寬了該限制,但該限制仍適用於儲存函式和觸發程式。
在mysql中如何建立乙個帶輸出引數為乙個表型別的儲存過程
3樓:匿名使用者
mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地。
mysql進在儲存過程中用select如何給變數賦值
用select.into語句。這個select語法把選定的列直接儲存到變數。因此,只有單一的行可以被取回。重要 sql變數名不能和列名一樣。如果select into這樣的sql語句包含乙個對列的參考,幷包含乙個與列相同名字的區域性變數,mysql當前把參考解釋為乙個變數的名字。例如,在下面的語句中...
mysql儲存過程引數能放到sql語句最後面嗎
不可以delimeter create procedure pro latest in num int begin set n num prepare sqlstring from select from product order by timestamp desc limit execute s...
MySQL到底能支援多大的資料量
mysql 3.22 限制的表大小為4gb。由於在mysql 3.23 中使用了myisam 儲存引擎,最大表尺寸增加到了65536tb 2567 1位元組 由於允許的表尺寸更大,mysql資料庫的最大有效表尺寸通常是由作業系統對檔案大小的限制決定的,而不是由mysql內部限制決定的。innodb ...