mysql儲存過程資料庫表名欄位作為引數傳遞給儲存過程的方法

2021-10-05 03:07:35 字數 1436 閱讀 6593

1樓:郭某人來此

直接將資料庫表名欄位作為字元型別傳到儲存過程中,儲存過程拼接sql語句,再用exec執行。例如:

create procedure [proc_test](@tablename varchar(100))with

execute as caller

asdeclare @sql varchar(1000);

set @sql='select * from '+@tablename

exec(@sql)

go再直接執行 exec proc_test '學生表'

2樓:小心煙花

begin

set @sqlstr:=concat("select * from ",c);

prepare stmt from @sqlstr;

execute stmt;

deallocate prepare stmt;

endc是你傳進來的值的變數in `c` varchar(100)

3樓:暖流貓九

表名欄位為name的話

用post的話就是這樣取$_post['name']

用get同理一樣

mysql儲存過程把欄位作為傳入引數 20

4樓:

要對banktype1傳參就在 begin 後面新增

declare @banktype1 varchar(225)

set @banktype1=(select banktype1 from 表名)

mysql 儲存過程 update語句 欄位=傳遞過來的引數字串引數

5樓:藤原子大雄

mysql儲存過程支援用bai表作為

du引數。

這個zhi問題在

daomysql 5.0以前非常麻煩,但是回在mysql 5.0.13版之後,由於引入了答prepare語句,一切變得簡單了。

例子如下(已驗證):

drop procedure if exists `newtable`;

create procedure `newtable`(in tname varchar(64))

begin

set @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');

MYSQL資料庫問題,MySQL資料庫問題?

建立資料庫 create database 資料庫名 on primary 主檔案 name 邏輯名,filename 儲存路徑及檔名,是字串需要用 size 大小 需要加單位,如mb log on 日誌檔案 name 邏輯名,filename 儲存路徑及檔名,size 大小 建立表 1 判斷表是否...

急 資料庫!儲存過程高手來啊

求給定日期是星期幾的有函式可以實現 如果是題目要求從1970.1.1 是週四往後面判定的話就要寫程式了 例如給定日期為19801月1號 select mod to date 19800101 yyyymmdd to date 19700101 yyyymmdd 7 from dual 得出5,然後寫...

編寫php檔案獲取mysql資料庫某個表中一條記錄

這個好辦 先接收來到你自框選的內同 然後用到資料庫查詢的時候選擇模糊查詢。就像 select from where title like 進口 corine like 後面的部分都是模糊查詢,這就表示,只要你該段中包含 進口 corine 字眼的就算是查詢到結果 然後拿到結果集後你再做相應的處理。我...