Oracle(PLSQL)入門學習六

2022-02-03 21:02:09 字數 1907 閱讀 1929

事務:把一組操作看做乙個工作單元,要麼都執行,要麼都不執行。dml操作才有事務,查詢沒有事務。

提交事務:commit

回滾事務:rollback

create

table

bank

(id

number(5) primary

key,

money

number(10) check(money

>0)

)insert

into bank values (1,3000

);insert

into bank values (2,5000

);update bank set

money

=money

-1000

where id=1;

update bank set

money

=money

+1000

where id=2;

begin

update bank set

money

=money

-1000

where id =1;

update bank set

money

=money

+1000

where id =2;

commit

;exception

when others then

rollback

;end

;select

*from bank;

檢視:乙個虛擬表,不存放資料,只存sql。建立在一張表或多張表的資料查詢基礎上。oracle普通使用者本身沒有建立檢視許可權,需要授予。

grant

create

view

to scott;

create

view

abcas

select e.empno,e.ename,d.dname from emp e,dept d where e.deptno=

d.deptno;

select

*from abc;

view code

索引:在某列上建立索引,系統就會對該列進行排序,並且建立該列的索引目錄。如果我們按這個條件來查詢資料,會在該列的索引目錄上找,比一條一條去看全部資料查詢滿足條件的要快。主鍵、外來鍵建立,系統預設建立索引。

create

index ix_emp on

emp (ename);

drop

index ix_emp;

頻繁用於搜尋、查詢選擇、排序、分組的列最好就建立索引。該列的值沒有幾個不一樣的(???)、或者該錶資料不多,無需建立索引。

索引使用的優化知識:

序列:乙個自增的變數。

select

*from

bank;

delete

from

bank;

create

sequence sq_bank;

insert

into bank values(sq_bank.nextval,500

);commit

;create

sequence sq_bank1

start

with

100increment by5

nomaxvalue;

insert

into bank values(sq_bank1.nextval,500

);commit;

select sq_bank1.currval from dual;

Oracle(PLSQL)入門學習四

oracle表連線 內連線 外連線。外連線分左連線 右連線。多表查詢時,如果表之間沒有條件關聯,則會把所有匹配的結果查詢出來,例如a表6條資料,b表7條資料,查出來就是42條。笛卡爾積 返回兩張表中所有匹配的結果,沒有意義。所以多表查詢,必須寫關聯條件。select from staff,depar...

Oracle PL SQL入門案例實踐

正在看的oracle教程是 oracle pl sql入門案例實踐。前面已經了解了關於pl sql程式設計的基礎,本文將結合乙個案例來加深對這些知識點的理解。一 案例介紹 某資料庫有兩張表,是關於某公司員工資料 薪水和部門資訊的,它們分別是emp表和dept表,兩張表的結構如下 要求如下 1 按照上...

Oracle PL SQL學習筆記

游標分類 游標概念 與游標相關的語法型別 建立游標 如同宣告任何其他變數一樣 cursor cursor name is sql statement 開啟與關閉游標 開啟游標 open cursor arg arg 關閉游標 close cursor 取資料 fetch cursor into va...