SQL 2005上可執行
declare @n_id int
set @n_id = 12
select * from tt11
where item = @n_id
oracle 11G上,無法執行,請問如何改
DECLARE
n_id NUMBER;
BEGIN
n_id:= 11;
select * from tt11
where item = n_id
DECLARE
n_id NUMBER;
bb NUMBER;
BEGIN
n_id:= 11;
select aa INTO bb from tt11
where item = n_id;
END;
或是用VIEW
大哥好,請問一下
select aa into bb from table
不知道我的理解對不對
從table找出aa然後放入bb顯示出來
若有誤可否詳細解說一下,謝謝。
再來如果我要找全部*
那bb處該如何改? (會顯示位置不夠放資料)
我select item也跑不出來
item資料型態是number沒錯
DECLARE
n_id NUMBER;
bb NUMBER;
BEGIN
n_id:= 11;
select item into bb from tt11
where item = n_id;
END;
顯示
錯誤報告 -
ORA-06550: 第 3 行, 第 7 個欄位:
PLS-00215: String length constraints must be in range (1 .. 32767)
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
已順利完成 PL/SQL 程序.
PLS-00215: String length constraints must be in range (1 .. 32767)
這不是答案嗎?
我在這測試也報錯...
跟訊息答案無關@@..
重點到底是哪個SQL寫法才正確~
才不會跳出錯誤訊息...
請問一下我現在沒報錯了
開一個新頁面就正常了
但沒顯示值
只出現 已順利完成 PL/SQL 程序.
如何顯示值?
值已經在 bb 裡面呀!
以前沒用過into,請問一下要如何selest BB資料呢?
into應該沒有實際建立在資料庫上 (我看資料庫沒新增資料表)
DECLARE
n_id NUMBER;
new_tb NUMBER;
new_tb2 varchar(15);
BEGIN
n_id:= 5;
select TC_SFB03,TC_SFB04 into new_tb,new_tb2
from tc_sfb_file
where TC_SFB03 = n_id
and tc_sfb01 ='1511-170623008' ;
END;
select * from new_tb,new_tb2
好像無法用這串查資料
select * from dual
上面方法只是把值顯示出來,我只能根據你的需求反應事實,實際你要的目的只有你自己清楚。
只查到一個x
DECLARE
n_id NUMBER;
new_tb NUMBER;
new_tb2 varchar(15);
BEGIN
n_id:= 5;
select TC_SFB03,TC_SFB04 into new_tb,new_tb2
from tc_sfb_file
where TC_SFB03 = n_id
and tc_sfb01 ='1511-170623008' ;
END;
select * from dual