pl/sql剛入門,模仿網上的例子編寫了一個簡單的pl/sql塊,如下所示:
- declare
- v_ename varchar2(20);
- begin
- select ename into v_ename from emp where empno=&no;
- dbms_output.put_line('僱員名:'||v_ename);
- end;
在運行是出現錯誤如下:
ORA-06550: 第 3 行, 第 2 列:
PLS-00103: 出現符號 ""在需要下列之一時:
begin function pragma
procedure subtype type <an identifier>
<a double-quoted delimited-identifier> current cursor delete
exists prior
百思不得其解,一個如此簡單的程序爲何老是出錯,最後發現原來代碼中的半角和全角混用的問題,正確程序:
- declare
- v_ename varchar2(20);
- begin
- select ename into v_ename from emp where empno=&no;
- dbms_output.put_line('僱員名:'||v_ename);
- end;
兩程序咋看上去沒啥區別,到現在我還沒找到啥區別,不過是因爲我的代碼是在wps中寫的,後copy到sql developer,可能是wps中寫的代碼對半角全角的處理有問題,所以纔會出現類似的錯誤,以後要多加註意!