oracle 學習筆記

2022-05-02 20:06:13 字數 2885 閱讀 8071

1.oracle查詢結果去除重複項

select distinct * from table_name

2.合併查詢結果

select id,name from wg_person

union

select id,name from wg_superusers

從person表和superuser表中查詢到的結果合併

3.遞迴查詢

start with pid = :id connect by prior id =pid

一般和union語句結合使用:

start with pid = :id connect by prior id =pid

union

select id from wg_depart where id=:id

4.新安裝的資料庫,需要設定nls_lang環境變數

變數名:nls_lang

值:american_america.zhs16gbk

5.oracle從dmp檔案匯入資料

$imp 'aichannel/[email protected]/orcl as dba' full=y file=路徑\檔名.dmp ignore=y

imp userid=username/[email protected]/orcl file=路徑\檔名.dmp full=y

6.oracle從dmp檔案匯出資料

$exp username/password@orcl file=/path/db.sql log=/path/dblog.log owner=username

7.pl/sql登入本地資料庫失敗問題

可能原因:

1.服務沒啟動,需要啟動的有兩個,oracleoradb11g_home1tnslistener和oracleserviceorcl

2.把需要連線的資料庫名字改為127.0.0.1/orcl

8.oracle修改最大連線數,修改記憶體占用

show parameter processes;

show parameter sessions;

alter system set processes=2000 scope=spfile;

alter system set sessions=2200 scope=spfile;

show parameter memory;

alter system set memory_target=2688m scope=spfile;

alter system set memory_max_target=2688m scope=spfile;

9.oracle建立使用者,並賦許可權

create user uname identified by pass

grant dba,connect to zyl

10.oracle匯入dmp檔案

imp username/password file=檔案路徑.dmp full=y

應該是在表上建了觸發器,在triggers中找到並禁用就能插入資料了

12.複雜update語句

update person t set t.url=replace(url,'aaa','bbb') where t.url is not null  // 把url中的aaa替換成bbb

13.批量插入查詢到的資料到新錶中

insert into tb_workgroupdispatch a(id,departid,workgroupid)

select rownum,w.jigouid,w.id from wggl_workgroup w where 條件;

14.oracle生成uuid方法

create or replace function fun_get_uuid

return varchar

isguid varchar (50);

begin

guid := lower(rawtohex(sys_guid()));

return substr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||substr(guid,17,4)||'-'||substr(guid,21,12);

end fun_get_uuid;

select fun_get_uuid from dual;

update tb_person t set t.uuid=(select fun_get_uuid from dual) where t.id=1;--修改id=1的uuid

15.迴圈更新表中所有記錄

create or replace procedure pro_set_person_uuid 

is i number;

begin

i:=15000;

--select count(1) into i from tb_person p where p.uuid is null;分批執行,如果太多,容易記憶體溢位

while i>0

loop

i:=i-1;

update tb_person t set t.uuid=(select fun_get_uuid from dual) where t.uuid is null and rownum=1;

end loop;

end;

begin

pro_set_person_uuid;

end;

oracle 學習筆記

本地網路服務名配置 在客戶機的 oracle oracle90 network admin 安裝目錄下有乙個名為tnsnames.ora的命名檔案,其中儲存的就是本地命名的配置.當客戶機應用程式提出登入要求時,其使用的連線字串被命名檔案解析.在命名檔案裡儲存的是與連線字串對應的網路位址.例如 mys...

Oracle學習筆記

許可權管理 oracle 9i 3個預設使用者 sys 超級管理員 預設密碼 change on install system 普通管理員 預設密碼 manager scott 普通使用者 預設密碼 tiger oracle 10g sys 密碼在安裝時設定 system 密碼在安裝時設定 scot...

oracle學習筆記

1 set linesize 100 設定長度 2 set pagesize 30 設定每頁顯示數目 3 em a.sql 開啟記事本 4 a 執行檔案a中的 可指定檔案的路徑 d a.txt 5 conn 使用者名稱 密碼 根據使用者名稱和密碼連線資料庫 如果連線超級管理員 sys 則應加上as ...