參考:
1)將資料庫test完全匯出,使用者名稱system 密碼manager 匯出到d:\daochu.dmp中
expsystem/manager@test file=d:\daochu.dmp full=y
2)將資料庫中system使用者與sys使用者的表匯出
expsystem/manager@test file=d:\daochu.dmp owner=(system,sys)
3)將資料庫中的表inner_notify、notify_staff_relat匯出
expaichannel/aichannel@testdb2 file= d:\datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4)將資料庫中的表table1中的字段filed1以"00"打頭的資料匯出
expsystem/manager@test file=d:\daochu.dmp tables=(table1) query=" where filed1 like '00%'"
1)將d:\daochu.dmp 中的資料匯入 test資料庫中。
impsystem/manager@test file=d:\daochu.dmp
impaichannel/aichannel@test full=y file=d:\datanewsmgnt.dmp ignore=y
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該錶就不進行匯入。
在後面加上ignore=y 就可以了
2)將d:daochu.dmp中的表table1 匯入
impsystem/manager@test file=d:\daochu.dmp tables=(table1)
create tablespace tblsms
datafile 'd:/oracle/product/10.2.0/oradata/shenhq/tblsms.dbf' size 5m reuse
autoextend on next 10m maxsize unlimited
extent management local autoallocate
/
create tablespace tblsms
autoextend on next 10m maxsize unlimited
extent management local autoallocate
/
-- create the user
create user [user_name]
identified by "[user_name]"
default tablespace [default_tablespace_name]
temporary tablespace [temp_tablespace_name]
profile default;
-- grant/revoke role privileges
grant dba to [user_name];
-- grant/revoke system privileges
grant insert any table to [user_name];
grant select any table to [user_name];
grant update any table to [user_name];
grant unlimited tablespace to [user_name];
不會寫pl/sql不叫會用oracle
spool .[log_name].log
prompt
prompt creating procedure [procedure_name]
prompt
create or replace procedure [procedure_name]
issql_code varchar2(50);
sql_errm varchar2(100);
cursor [cur_name] is
;v_cnt number;
begin
v_cnt := 0;
for v_instanceservice in [cur_name] loop
begin
;v_cnt := v_cnt + 1;
if mod(v_cnt, 10000) = 0 then
commit;
end if;
exception
when others then
sql_code := sqlcode;
sql_errm := sqlerrm;
dbms_output.put_line(sql_code || ' ' || sql_errm ||
' at servicestr ' ||
v_instanceservice.servicestr);
end;
end loop;
commit;
dbms_output.put_line('total is:' || v_cnt);
end;
/spool off
create or replace function [function_name]([parameters_name] [parameters_type])
return varchar2 is
v_result varchar2(100);
begin
v_result := null;
return v_result;
end [function_name];
create or replace procedure alter_table is
v_count number;
begin
select count(*)
into v_count
from user_tab_columns u
where u.table_name = [表名]
and (u.column_name = [欄位名,如果多個用or拼接條件]);
if v_count < 1 then
execute immediate '[增加欄位的alter指令碼]';
end if;
commit;
end;
/exec alter_table;
drop procedure alter_table;
create or replace procedure adjust_seq_value_prc
is sql_code varchar2(50);
sql_errm varchar2(100);
cursor cur_get_seq_info is
select us.sequence_name, us.last_number, us.increment_by, us.cache_size
from user_sequences us
where us.sequence_name not in
('[sequence_name]', '[sequence_name]', ......);
begin
for v_get_seq_info in cur_get_seq_info loop
begin
execute immediate 'alter sequence ' || v_get_seq_info.sequence_name ||
' increment by [number_want_to_add] nocache';
execute immediate 'select ' || v_get_seq_info.sequence_name ||
'.nextval from dual'
execute immediate 'alter sequence ' || v_get_seq_info.sequence_name ||
' increment by ' || v_get_seq_info.increment_by ||
' nocache';
exception
when others then
sql_code := sqlcode;
sql_errm := sqlerrm;
dbms_output.put_line(sql_code || ' ' || sql_errm);
end;
end loop;
end;
/
(有新知新得再補充,待續……) IT開發人員
其路五 轉行到市場 絞盡腦汁的想想,我所知道的人之中只有兩個開發人員去了市場,這兩個人都不能說是朋友,認識而已。他們都是主動要求去了市場,結果是這兩個人均在市場都是乾到一年左右,然後都自已開公司了。呵呵,很奇怪,極高的轉行成功率!不過仔細想想,我對這兩個人的思路佩服的五體投地。能下決心仍掉每月5 6...
開發人員常用DOS命令
tip 首先需要使用快捷鍵 win r 開啟執行介面,輸入cmd,調出命令提示符 dir檢視當前目錄的檔案和資料夾 cd進入特定目錄 cls清屏 ping後跟ip位址,位址均可,t表示不聽的傳送資料報 telnet以字元方式遠端登入程式 ipconfig顯示當前的網路介面狀態,all,flushdn...
開發人員必讀
對於剛開始學習軟體開發的新人來說,必備技能 往往意味著乙個長長的 標有重要度的學習列表,但是過長的列表通常會導致新人不知如何開始學習,壓力倍增。本文嘗試列舉出最重要的幾個技能,也期望通過此列表能給新人乙個比較明確的學習重點和路徑。沒有掌握任何一門程式語言,就不可能成為一名程式設計人員。許多程式設計師...