1.oracle查詢結果去除重複項
select distinct * from table_name
2.合併查詢結果
select id,name from wg_personunion
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=yimp 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 passgrant 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_uuidreturn 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_uuidis 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 ...