在oracle中建立Pipelined表函數,搞的我好累,記下來,省得以後再費事。1. 先建立一個類型:CREATE OR REPLACE TYPE smpl_metadata AS OBJECT( smpl varchar2(2000), lauren varchar2(2000), grade varchar2(2000));2. 再用建立的類型建立一個“表類型”:CREATE OR REPLACE TYPE smpl_metadata_table AS TABLE OF
今天打算讓 8國語言版本部落格 支援下Oracle,於是,就又產生了一堆問題及總結: 1:如何從MSSQL中調取表構造到Oracle,關於這個,我用上了資料匯出功能,遇到以下問題: A:在測試資料庫連結時,有個[記住密碼],太陽,我一開始沒打勾,測試連結成功,可是下一步就提示出錯。Code highlighting produced by Actipro CodeHighlighter
1、插入 insert into dept values(50, 'soft', 'Guangzhou'); insert into dept(deptno, dname) values(60, 'software test'); insert into dept select * from dept where deptno = 20; 2、刪除 delete from dept where deptno = 20; delete from
1、無參數預存程序的調用--建立無參預存程序CREATE OR REPLACE FUNCTION stu_proc RETURN VARCHAR2 IS--聲明語句段 v_name varchar2(20);BEGIN--執行語句段 SELECT o.sname INTO v_name FROM student o where o.id=1;RETURN v_name;END;--調用無參預存程序DECLARE BEGIN DBMS_OUTPUT.put_line('在PL/
這是否也是業界的一種浮躁?據我所知,一個優秀的資料庫管理員如果是從其它類型的資料轉型到ORACLE的管理,是一個十分耗費周期的事。 ORACLE資料庫管理員的價位也不低,為什麼到處還在要求能夠熟悉ORACLE? 根據部落格堂中的MVM的文章<<絕對好文推薦:《SQL Server大型伺服器:伸縮性、可用性與易管理性》>>,到微軟的網站上看到了這篇文章,感覺SQL Server
SQL server 的預存程序返回結果集很簡單Oracle 預存程序返回結果集怎麼這麼費勁?過程返回記錄集: CREATE OR REPLACE PACKAGE pkg_test AS TYPE myrctype IS REF CURSOR; PROCEDURE get (p_id NUMBER, p_rc OUT myrctype); END pkg_test; / CREATE OR REPLACE PACKAGE BODY pkg_test AS
Oracle、DB2、MS SQL Server都有的QueryHint,好像就只有一個了,他們在不同資料庫的表現形式為:Oracle:SELECT /*+ FIRST_ROWS */ * FROM T WHERE (F1 > 5)MS SQL ServerSELECT * FROM T WHERE (F1 > 5) OPTION ( FAST 10)DB2 UDBSELECT * FROM T WHERE (F1 > 5) OPTIMIZE FOR 1 ROWSELECT *
關於Oracle中的不等號: 在Oracle中, <> != ~= ^= 都是不等號的意思。都可以使用。 但是奇怪是的, 我想拿出price不是180000的商品時:(price是Number類型的) SELECT id, name FROM product where price<> 180000; 執行這個語句時,priceis null 的記錄不出來。也就是拿不到price是null的商品。必須使用: SELECT id, name FROM product
1、 查看當前被解鎖的對象 樣本: 將表aa加鎖 執行 select * from aa for update; 方式一:通過SQL查詢 select 'alter system kill session ',''''||trim(t2.sid)||','||trim(t2.serial#)||''';' from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time; 執行結果
在Oracle查詢中,如果在沒有排序,但又想讓某列中特定值的資訊排到前面的時候,使用oracle的decode(欄位,'欄位值',數字)如 select name from user 查詢出來的所有資料,如果想讓 name='張三' 結果排到前面,則使用如下:select name from user order by decode(name,'張三',0)同理,如果想讓李四排到第二的話,可以繼續增加decode方法select name from user order by
區別: 1、主鍵,Oracle不可以實現自增,mysql可以實現自增。 oracle建立序列,SEQ_USER_Id.nextval 2、索引: mysql索引從0開始,Oracle從1開始。 3、分頁, mysql: select * from user order by desc limit n ,m. 表示,從第n條資料開始尋找,一共尋找m條資料。 Oracle:select * from user select rownum a * from ((select * from