oracle函數中文導致編譯報錯
Oracle中出現無效對象,就是因為在創建函數或存儲過程等,里邊的內容書寫不正確導致。如果要重新編譯,需要先修正錯誤,然後編譯。
工具:Oracle 10g、PL/SQL
步驟:
1、在PL/SQL中打開出現編譯錯誤的函數或存儲過程,這里以存儲過程為例。
2、右鍵點擊該存儲過程,選擇「編輯」。
3、根據錯誤提示,找到錯誤,並修改錯誤。
4、改正錯誤後,點擊左上方的「齒輪」狀按鈕。
5、運行成功後,則該存儲過程就會變為編譯成功的狀態。
㈡ ORACLE 過程編譯錯誤,高手來解答!
憑感覺,你的語法沒錯。今天連不起公司伺服器。周一連上給你試試,等著。。
我們創建的時候,用的是create or replace package。我將你包的內容改變了(因為我沒有創建你的那個數據表emp),運行成功了的。內容如下:
create or replace package xxemp_pkg is
procere update_sal(name varchar2,newsal number);
function annual_income(name varchar2) return number;
end;
/
create or replace package body xxemp_pkg is
procere update_sal(name varchar2,newsal number)
is
begin
/*update emp set sal=newsal
where lower(ename)=lower(name);*/null;
end;
function annual_income(name varchar2) return number
is
annual_salary number(7,2);
begin
/*select sal*12+nvl(comm,0) into annual_salary
from emp where lower(ename)=lower(name);*/null;
return annual_salary;
end;
end;
/
你再到你的系統試一試。
㈢ Oracle創建的包為什麼會出現編譯錯誤
package pkg_score_218 這個應該是package頭,裡面只要函數的聲明就行了
再定義一個package體,裡面才是寫函數的實現。
㈣ 為什麼oracle 新建存儲過程時,出現「創建過程帶有編譯錯誤」 ,求大神們幫助。因為沒財富了,所以沒懸賞了
先不說別的,就是insert into後必須要提交,否則插不進數據造成表被鎖
再一個,你那倆參數ASSIGN_PK和CLASS_PK 是要輸入的么?
輸入的話要加上in,要不是輸入,在後邊取出的,至少也得賦值,這里就姑且當做你是要輸入的兩個參數吧。
create or replace procere add_t
(ASSIGN_PK IN VARCHAR2 ,
CLASS_PK IN VARCHAR2)
IS
BEGIN
INSERT INTO add_t values(''||ASSIGN_PK||'',''||CLASS_PK||'');
commit;
END;
㈤ oracle中用中文表名和欄位名好不好
理論上說是可行了的,但是實際上最好不要。
因為無法保證在所有的方面,都能支持中文,比如應用前台的SQL,傳輸時如果用了ODBC,存儲過程中的調用,函數的調用,數據的導入導出等等。
除非你能肯定,你的表在所使用的場合中都不會出現問題。否則以後再修改表名,那很麻煩。
一般的做法,是用英文名,然後添加備注。
㈥ oracle sql語句中,有沒有能夠將結果集中數字替換成漢字的函數
oracle sql語句中,有沒有能夠將結果集中數字替換成漢字的函數?
oracle sql語句中,有能夠將結果集中數字替換成漢字的函數,用decode()函數。
1,SQL是Oracle資料庫對SQL語句的擴展。它是一種程序語言,叫做過程化SQL語言。
2,在普通SQL語句的使用上增加了編程語言的特點,所以PL/SQL就是把數據操虛褲仔作和查詢語句組織在PL/SQL代碼的過程性單元中,通過邏輯判斷、循環等操作實現復雜的功能或者計算的程序語言。
3,通過多條SQL語句實現功能時,每條語句都需要在客戶端和服務端傳遞,而且每條語句的執行結果也需要在網路中進行交互,佔用了大量的網路帶寬,消耗了大量網路傳遞的時間。在網路中傳輸的那些結果,往往都是中間結果,而不是我們所關心的。
4,在整個過程中網路里只傳輸了很少的數據,減少了網路傳輸佔用的時間,所以整體程序的執行性能會有明顯的提高。
5,PL/SQL的使用,使SQL成為一種高級程序設計語言,支持高級語言的塊操作,條件判斷,循環語句,嵌套等,與資料庫核心的數據類型集成,使SQL 的程序設計效率更高.
word 中的查找替換將數字換成漢字
先用CTRL+A把WORD全文選中,然後按「CTRL+F」打開「查找和替換」,選「替換」,然後在「查找內容」中輸入你想要替換掉的數字,然後在「替換為」中輸入你想換成的漢字,如果只替換一處,直接點下邊的「替換差汪」就可以了,如果想把文檔中所有符合條件的都替換就點「全部替換」即可。
Mysql中查詢一個表,把結果中的7替換成文字,請寫出sql語句
7是一個欄位嗎?還是一個值?值的話就case when吧 case when a=7 then '文字' else a
在sql查詢中null怎麼替換成漢字
假設欄位名為 column
case when column is null then '空' else column end
還有更方便的
isnull(column,'空')
Mysql中查詢一個表,把結果中的NULL替換成0,怎麼寫出sql語句?
1、MSSQL: ISNULL()
語法純扒
ISNULL ( check_expression , replacement_value )
參數
check_expression
將被檢查是否為 NULL的表達式。check_expression 可以是任何類型的。
replacement_value
在 check_expression 為 NULL時將返回的表達式。replacement_value 必須與 check_expresssion 具有相同的類型。
返回類型
返回與 check_expression 相同的類型。
注釋
如果 check_expression 不為 NULL,那麼返回該表達式的值;否則返回 replacement_value。
2、Oracle: NVL()
語法
NVL(eExpression1, eExpression2)
參數
eExpression1, eExpression2
如果 eExpression1 的計算結果為 null 值,則 NVL() 返回 eExpression2。如果 eExpression1 的計算結果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數據類型。如果 eExpression1 與 eExpression2 的結果皆為 null 值,則 NVL( ) 返回 NULL
WPS中如何將所有漢字替換成漢儀中宋簡
首先,你的電腦系統中需要安裝漢儀中宋簡字體。
如果沒有,可網路一下,下載安裝。WIN7系統在下載的.ttf文件上點鍵——安裝即可安裝到系統中。
在WPS中,全選(按Ctrl+A),在「字體」中選擇該字體。
oracle 中的instr替換成sqlserver的什麼函數
Oracle:INSTR(<C1>,<C2>[,I][,J])
SQL Server:CHARINDEX(<C1>,<C2>[,I])
說明:在C2中從I開始搜索C1第1次出現的位置。I:默認1
java中數組的替換當中,如何使用fill()將數字替換成符號
當數據元素為對象時,數據的元素先要初始化,才能使用.因此,代碼
a[]=new [10];
a[0].set(100);
System.out.println(a[0].num);
需要改成;
a[]=new [10];
a[0]=new ();
a[0].set(100);
System.out.println(a[0].num);
sqlite 用sql語句將結果集中的一列數據拼接成一個字元串
這個只用一個查詢語句我是沒有方法可以解決。
我的解決方法需要用到存儲過程,可以直接使用下面代碼,或者將其裝入存儲過程。
Declare @s varchar(200)--長度需要根據需要設定
Set @s = ''
Select @s = @s + Name from 【表】--你的表
Where 【條件】
Select @s
㈦ ORACLE函數的小問題,函數能夠正常創建,但是編譯有錯誤,我自己沒有找出錯誤來,還請高手指點,多謝!!
異常處理時的begin ... end後面()需要「;」(分號)
也就是倒數第2行少一個分號