1. 存儲過程 select 語句中使用變數問題
你那樣寫當然會報錯,select
*
返回的是一個
結果集
,而@D_name
只是一個
varchar型變數,當然無法接收了。
select
*
into
'D_name'
from
gzb11
where
1=2;
這一句改成
select
count(*)
into
@D_name
from
gzb11
where
1=2;試試
2. 我在pl/sql里要寫一個存儲過程,其中有一個select句子from的表是個變數,請問這個select句子應該怎麼寫啊
比如@TableName是一個傳入的變數,那麼你用
select * from @TalbeName即可
3. mysql 進:在存儲過程中用select 如何給變數賦值
用select...into語句
下面是mysql 5.0的幫助文檔的:
這個SELECT語法把選定的列直接存儲到變數。因此,只有單一的行可以被取回。
SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意,用戶變數名在MySQL 5.1中是對大小寫不敏感的。請參閱9.3節,「用戶變數」。
重要: SQL變數名不能和列名一樣。如果SELECT ... INTO這樣的SQL語句包含一個對列的參考,並包含一個與列相同名字的局部變數,MySQL當前把參考解釋為一個變數的名字。例如,在下面的語句中,xname 被解釋為到xname variable 的參考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;
SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
當這個程序被調用的時候,無論table.xname列的值是什麼,變數newname將返回值『bob』。
4. 存儲過程中的SELECT語句與普通SELECT語句格式有何區別。
存儲過程中的SELECT語句,可以將查詢的結果賦給存儲過程中的變數。
比如說,select sum("成績") into sum_english from "課程表" where "課程名"='英語';
其中sum_english是存儲過程中已定義的變數。這句話就是把課程表中英語課的總成績計算出來,賦給sum_english變數中。
這個語句在存儲過程中是合法的,但在普通的sql語句中無法使用。
5. 存儲過程 select 語句中使用變數問題
你那樣寫當然會報錯,select * 返回的是一個結果集,而@D_name 只是一個 varchar型變數,當然無法接收了。
select * into 'D_name' from gzb11 where 1=2;
這一句改成
select count(*) into @D_name from gzb11 where 1=2;試試
6. 存儲過程中的select into from是干什麼的
into後邊應該還有個變數名,into前面也還要帶上篩選欄位,例如
select count(*) into v_count from al;
這條語句的意思是查詢al表的所有記錄數,將查詢結果存入v_count變數中,也就是給變數設值的用法
7. sql存儲過程裡面select * from 表,查出來的值(比如 5這個數字)真的不能繼續在做if(i =5)的程序了么
DECLARE total_procts INT DEFAULT 0
SELECT COUNT(*) INTO total_procts
FROM procts
if total_procts =5
//你的處理邏輯
end if
8. sql 存儲過程 select怎麼返回變數值
存儲過程可以定義兩個變數:1、傳入變數(學號);2、返回變數(0和1);3、備用變數(判斷優秀的條件)程序收到返回值時判斷後輸出提示。
如果不知道多少分為優秀,則可以多加一個傳入變數,將判斷是否優秀的分值也從變數代入。