安裝一個(gè)PLSQL
創(chuàng)新互聯(lián)公司科技有限公司專(zhuān)業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供成都電信服務(wù)器托管,高防物理服務(wù)器租用,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。
1.輸入你訪問(wèn)數(shù)據(jù)庫(kù)的用戶(hù)名和密碼
2.在工具菜單下點(diǎn)擊export
3.選擇導(dǎo)出的路徑和要導(dǎo)出的表
具體的操作見(jiàn)下圖
oracle中執(zhí)行了insert、update、delete這三個(gè)DML語(yǔ)句后,結(jié)果在未提交前實(shí)際上是保存在undo空間內(nèi),只有提交之后,才會(huì)真正寫(xiě)入到表中。所以會(huì)發(fā)生你的問(wèn)題。
提交語(yǔ)句:commit
另外,在未做提交前,其他人是無(wú)法select到你處理的數(shù)據(jù)的,看到的是未處理前的數(shù)據(jù)。
還有一點(diǎn)要說(shuō)明,當(dāng)你執(zhí)行了update、delete時(shí),語(yǔ)句所影響的數(shù)據(jù)會(huì)被oracle自動(dòng)鎖定,其他人只能查,而不能update或delete,如果執(zhí)行update或delete,那么就會(huì)產(chǎn)生數(shù)據(jù)庫(kù)鎖。而鎖一旦產(chǎn)生,對(duì)系統(tǒng)的影響會(huì)很大,因此應(yīng)盡快提交。
sqlplus 中直接敲入存儲(chǔ)過(guò)程代碼(create or replace procedure ...), / 結(jié)束,\x0d\x0a如果代碼沒(méi)有錯(cuò)誤,該過(guò)程就被保存到數(shù)據(jù)庫(kù)中。 \x0d\x0a可以用 exec 過(guò)程名 運(yùn)行。\x0d\x0a\x0d\x0a如果是plsql developer之類(lèi)的工具,那更簡(jiǎn)單,編輯完存儲(chǔ)過(guò)程后,有運(yùn)行按鈕,點(diǎn)擊即可。
oracle
存儲(chǔ)過(guò)程的基本語(yǔ)法
1.基本結(jié)構(gòu)
CREATE
OR
REPLACE
PROCEDURE
存儲(chǔ)過(guò)程名字
(
參數(shù)1
IN
NUMBER,
參數(shù)2
IN
NUMBER
)
IS
變量1
INTEGER
:=0;
變量2
DATE;
BEGIN
END
存儲(chǔ)過(guò)程名字
2.SELECT
INTO
STATEMENT
將select查詢(xún)的結(jié)果存入到變量中,可以同時(shí)將多個(gè)列存儲(chǔ)多個(gè)變量中,必須有一條
記錄,否則拋出異常(如果沒(méi)有記錄拋出NO_DATA_FOUND)
例子:
BEGIN
SELECT
col1,col2
into
變量1,變量2
FROM
typestruct
where
xxx;
EXCEPTION
WHEN
NO_DATA_FOUND
THEN
xxxx;
END;
...
3.IF
判斷
IF
V_TEST=1
THEN
BEGIN
do
something
END;
END
IF;
4.while
循環(huán)
WHILE
V_TEST=1
LOOP
BEGIN
XXXX
END;
END
LOOP;
5.變量賦值
V_TEST
:=
123;
6.用for
in
使用cursor
...
IS
CURSOR
cur
IS
SELECT
*
FROM
xxx;
BEGIN
FOR
cur_result
in
cur
LOOP
BEGIN
V_SUM
:=cur_result.列名1+cur_result.列名2
END;
END
LOOP;
END;
7.帶參數(shù)的cursor
CURSOR
C_USER(C_ID
NUMBER)
IS
SELECT
NAME
FROM
USER
WHERE
TYPEID=C_ID;
OPEN
C_USER(變量值);
LOOP
FETCH
C_USER
INTO
V_NAME;
EXIT
FETCH
C_USER%NOTFOUND;
do
something
END
LOOP;
CLOSE
C_USER;
8.用pl/sql
developer
debug
連接數(shù)據(jù)庫(kù)后建立一個(gè)Test
WINDOW
在窗口輸入調(diào)用SP的代碼,F9開(kāi)始debug,CTRL+N單步調(diào)試
服務(wù)器無(wú)法開(kāi)機(jī)保存oracle數(shù)據(jù)的方法:
1、如果SQLdevelop可以連接數(shù)據(jù)庫(kù),從新開(kāi)一個(gè)賬號(hào),分配表空間,進(jìn)行數(shù)據(jù)庫(kù)復(fù)制,這是最簡(jiǎn)單的方法。
2、如不能鏈接數(shù)據(jù)庫(kù),可使用PLSQL進(jìn)行遠(yuǎn)程登錄oracle進(jìn)行數(shù)據(jù)庫(kù)備份。