SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id; 6、顯示當前串連使用者 --------------------- SQL> show user 7、把SQL*Plus當計算機 ---------------------- SQL> select 100*20 from dual; 8、連接字串
查詢 SELECT語句用於從資料庫中查詢資料,當在PL/SQL中使用SELECT語句時,要與INTO子句一起使用,查詢的傳回值被賦予INTO子句中的變數,變數的聲明是在DELCARE中。SELECT INTO文法如下: SELECT [DISTICT|ALL]{*|column[,column,...]} INTO (variable[,variable,...] |record) FROM
記錄變數 定義一個記錄變數使用TYPE命令和%ROWTYPE,關於%ROWsTYPE的更多資訊請參閱相關資料。記錄變數用於從遊標中提取資料行,當遊標選擇很多列的時候,那麼使用記錄比為每列聲明一個變數要方便得多。當在表上使用%ROWTYPE並將從遊標中取出的值放入記錄中時,如果要選擇表中所有列,那麼在SELECT子句中使用*比將所有列名列出來要安全得多。 例: SET SERVERIUTPUT ON DECLARE R_emp EMP%ROWTYPE; CURSOR c_emp IS
在遊標FOR迴圈中使用查詢 在遊標FOR迴圈中可以定義查詢,由於沒有顯式聲明所以遊標沒有名字,記錄名通過遊標查詢來定義。 DECALRE v_tot_salary EMP.SALARY%TYPE; BEGIN FOR r_dept IN (SELECT deptno,dname FROM dept ORDER BY deptno) LOOP DBMS_OUTPUT.PUT_LINE('Department:'|| r_dept.deptno||'-'||r_dept.dname);
包的定義: create or replace package myTest is type out_cur is ref cursor; procedure writeCount(codeid in nvarchar2); procedure testSandyInSert(codeid in nvarchar2,counts out number); end myTest; 預存程序的定義: create or replace package body myTest is
我們可能會出現這種情況,某個表原來設計不周全,導致表裡面的資料資料重複,那麼,如何對重複的資料進行刪除呢? 重複的資料可能有這樣兩種情況,第一種時表中只有某些欄位一樣,第二種是兩行記錄完全一樣。一、對於部分欄位重複資料的刪除 先來談談如何查詢重複的資料吧。 下面語句可以查詢出那些資料是重複的: select 欄位1,欄位2,count(*) from 表名 group by 欄位1,欄位2 having count(*) > 1
create user cmsuser identified by "cmsuser"; SQL> create user uumcuser identified by "password";User created.SQL> grant connect,dba to uumcuser;Grant succeeded.SQL> grant exp_full_database,imp_full_database,resource,create any sequence to