2016-10-01 93 views
0

我是pl-sql的新手。下面的代碼是生成錯誤Pl-sql代碼顯示錯誤

declare 
c number; 
a varchar2(20); 
b varchar2(20); 
begin 
a:='appy'; 
b:='1234'; 
select count(*) in c from userdetails where userid=a and password=b; 
dbms_output.put_line('=--=-='||c); 
end; 
/

生成錯誤消息

select count(*) in c from userdetails where userid=a and password=p; 
       * 
ERROR at line 8: 
ORA-06550: line 8, column 17: 
PL/SQL: ORA-00923: FROM keyword not found where expected 
ORA-06550: line 8, column 1: 
PL/SQL: SQL Statement ignored 

我的表是2列的UserDetails用戶ID和密碼兩者都VARCHAR2類型。

+0

select .. FROM where?解析器[錯誤]說,「我期望'來自'這裏,但是我發現'in'。語法錯誤的位置用星號表示。'在此使用[in] c'的目的不明確,並且問題 – user2864740

+0

編輯代碼...這是一個錯誤...現在這裏是代碼 –

回答

2

如果你要選擇你的查詢結果爲C嘗試替換「在」到「進」,你應該還可以指定從選擇表:

declare 
    c number; 
    a varchar2(20); 
    b varchar2(20); 
begin 
    a:='appy'; 
    b:='1234'; 
    select count(*) into c from userdetails where userid=a and password=b; 
    dbms_output.put_line('=--=-='||c); 
end; 

欲瞭解更多信息,你可以閱讀docs

+0

謝謝!爲什麼必須使用「進」而不是「在」? –

+1

你應該問甲骨文這個問題,這是如何構建語言:) – YuvShap

+0

我的意思是「in」和「into」之間的區別....它在不同情況下的用法? –