oracle預存程序--入門與調試例子如下:create or replace procedure pro_one(p_one in number, p_two out varchar2, p_three in out varchar2) is --as --變數聲明部分 v_str1 varchar2(32) := '初始值方式1'; v_
預存程序,學會了遊標的使用就學會了資料的處理。隱式遊標select into from 擷取值 所有的隱式遊標都被假設為只返回一條記錄。使用隱式遊標時,使用者無需進行聲明、開啟及關閉。PL/SQL隱含地開啟、處理,然後關掉遊標。 create or replace procedure pro_two(p_id in integer) is --declare v_description varchar2(132) := ''; v_code
###########################in############################create or replace procedure pro_eight(p_one in varchar2, p_two out varchar2, p_three in out varchar2) is v_str1
Package是plsql語言中的一種對象。和預存程序一樣都是對象,之所以放在預存程序來說它,就是除了文法,基本上沒什麼可說的。類比java,包package就是介面與實作類別的關係。包package的出現主要也是為了面向介面編程(個人理解)。你可以把java介面的知識類比學習包package。裡面可以放一些變數定義,方法定義,預存程序定義。包package分為兩大部分:包說明和包體。包說明類似介面定義,包體類似實作類別。包說明的格式:create or replace package
postgresql,oracle,mysql通過資料字典擷取表結構,需要schema名跟表名。postgresql: SELECT a.attname,pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type FROM pg_catalog.pg_attribute a, (SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN
select o.name, c.name, co.comment$ ---表明,欄位名,欄位注釋from sys.obj$ o, sys.col$ c, sys.com$ cowhere o.owner# = userenv('SCHEMAID') and o.type# in (2, 4) and o.obj# = c.obj# and c.obj# = co.obj#(+) and c.intcol# = co.col#(+) and bitand(c.property, 32)
自訂此函數是由於“wmsys.wm_concat”在10G中不穩定。現已寫成自己定義的函數,功能與用法和“wmsys.wm_concat”函數一樣。趕緊貼出了給大夥看看。備忘: 這是從開源網轉載而來的源碼,經過本人的多次驗證和實際運用此函數可行。 create or replace TYPE zh_concat_im AUTHID CURRENT_USER AS OBJECT( CURR_STR VARCHAR2(32767), STATIC FUNCTION
1、尋找表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2、刪除表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷,只留有rowid最小的記錄 delete from people where peopleId
create or replace function F_FORMAT_DATE(v_date varchar2,format varchar)/*時間格式處理格式*/return dateas v_endDate date; v_rn varchar2(2); V_LAST_DATE VARCHAR2(10); Y VARCHAR2(4); M VARCHAR2(4); D VARCHAR2(4); H
文法:select *from 表名where 條件1start with 條件2connect by prior 當前表欄位=級聯表欄位start with與connect by prior陳述式完成遞迴記錄,形成一棵樹形結構,通常可以在具有階層的表中使用。start with表示開始的記錄connect by prior 指定與目前記錄關聯時的欄位關係代碼:--建立部門表,這是一個具有階層的表,子記錄通過parent_id與父記錄的id進行關聯create table DEPT(ID
--查看oracle的執行個體名,所在主機名稱,版本select INSTANCE_NAME,HOST_NAME,VERSION from v$instance;--查看oracle版本的詳細資料,位元,其他組件資訊select * from v$version--查看資料庫伺服器字元集,來源props$select * from nls_database_parameters;select userenv('language') from