問題解決 出現符號 在需要下列之一時

2022-04-08 12:17:06 字數 1421 閱讀 8280

問題解決——出現符號"("在需要下列之一時)

今天在建立儲存過程的時候,遇到了乙個問題,如下:

www.2cto.com  

procedure qiuyue.pro_insert_dyna_table 編譯錯誤

錯誤:pls-00103: 出現符號 "("在需要下列之一時:

:= . ) , @ % default

character

符號 ":=" 被替換為 "(" 後繼續。

行:3文字:id in number(3)

下面是我的儲存過程:

[sql] 

create or replace procedure pro_insert_dyna_table  

(    www.2cto.com  

id in number(3),   

name in varchar2  

)   

is   

str_sql varchar2(500);  

begin  

str_sql :='insert into pro_create_dyna_table values(:1,:2)';  

execute immediate str_sql using id,name;  

end pro_insert_dyna_table;  

說是「(」的問題,但是,我仔細瞅了瞅,還是好好的。突然想到上午執行pl程式塊時遇到了這樣的問題:

[sql] 

declare  

sum number;  

begin  

execute immediate 'select count(*) from stu' into sum; --注:into字句不可以放到引號中  

dbms_output.put_line(sum);  --錯誤游標定位處  

end;  

ora-06550: 第 5 行, 第 25 列: 

pls-00103: 出現符號 ")"在需要下列之一時:

(  www.2cto.com  

還是括號的問題,上午弄了好久,因為感覺簡簡單單的一句話,沒有因為「)」而出錯啊。後來不經意間,突然意識到了,sum是關鍵字。so……

那下午的情況是不是也是這樣呢?

為了避免這種情況,我把id,name都換成了id1,name1,但是結果還是這樣,暈!

還是因為突然的想法吧,我意識到了在建立儲存過程的時候,對於引數的資料型別,不可以指定精確的型別,例如number的使用,在儲存過程中不可以使用number(2)。

總結:1、在定義變數名字的時候,一定要注意變數名字不可以是關鍵字

2、建立儲存過程的時候,引數的資料型別不可以指定精確資料型別。例如,只能使用number、varchar2,而不可以使用varchar2(4)  

作者 yang15225094594

MySQL出現亂碼問題解決

當你的資料庫管理工具和編碼工具都設定成gbk或者utf8時,你使用編碼工具寫入資料庫的中文還是出現亂碼時。這時候很可能是你的mysql資料庫字符集出現問題,如下圖所示 mysql字符集中有latin1或gbk mysqld bash 設定3306埠 port 3306 character set s...

goahead cgi 及出現的問題解決

1.route.txt 配置cgi路徑 route uri cgi bin dir web handler cgi 2.交叉編譯生成cgi goahead 原始碼路徑下 test cgitest.c 是c寫 的cgi檔案 arm linux gcc cgitest.c o c.cgi 3.交叉編譯後...

Spring MVC出現的問題解決彙總

characterencodingfilter org.springframework.web.filter.characterencodingfilter encoding utf 8 2 get請求中文引數出現亂碼解決方法有兩個 修改tomcat配置檔案新增編碼與工程編碼一致,如下 1 另外一種...