資料庫筆試題 (3)
一、選擇題(每題1分)[選擇題:
1.A 2.C 3.D 4.B 5.C
6.C 7.C 8.D 9.C 10.A
11.D 12.B 13.C 14.C 15.AC
16.D 17.D 18.B 19.A 20.B
21.B 22.A 23.D 24.D 25.C
26.B 27.C 28.D 29.B 30.C
31.A 32.D 33.C 34.D 35.C
36.C 37.B 38.A 39.A 40.C
41.B 42.C 43.A 44.D 45.C
46.B 47.B 48.C 49.B 50.B
]
1.Oracle發出下列select語句:
SQL> select e.empno, e.ename, d.loc
2 from emp e, dept d
3 where e.deptno = d.deptno
4 and substr(e.ename, 1, 1) = ‘S’;
下列哪個語句是Oracle資料庫中可用的ANSI相容等價語句?
A.select empno, ename, loc from emp join dept on emp.deptno = dept.deptno where
substr(emp.ename, 1, 1) = ‘S’;
B.select empno, ename, loc from emp, dept on emp.deptno = dept.deptno where
substr(emp.ename, 1, 1) = ‘S’;
C.select empno, ename, loc from emp join dept where emp.deptno = dept.deptno and
substr(emp.ename, 1, 1) = ‘S’;
D.select empno, ename, loc from emp left join dept on emp.deptno = dept.deptno and
substr(emp.ename, 1, 1) = ‘S’;
2.你要對操縱Oracle資料庫中的資料。下列哪個選項表示Oracle中select語句的功能,並且不需要使用子查詢?
A.可以用select語句改變Oracle中的資料 B.可以用select語句刪除Oracle中的資料
C.可以用select語句和另一個表的內容生成一個表 D.可以用select語句對錶截斷
3.Oracle資料庫中發出一個查詢。下列哪個選項不能查詢對使用者定義靜態表示式執行數學運算時的查詢元件?
A.列子句 B.表子句 C.DUAL表 D.where子句
4.你要操縱Oracle資料,下列哪個不是SQL命令?
A.select * from dual; B.set define
C.update emp set ename = 6543 where ename = ‘SMITHERS’;
D.create table employees(empid varchar2(10) primary key);
5.你要在Oracle中定義SQL查詢。下列哪個資料庫物件不能直接從select語句中引用?
A.表 B.序列 C.索引 D.檢視
6.你要根據PRODUCT_NAME列從PROFITS表查詢中過濾返回的資料。下列哪個子句包含相應過濾條件的引用?
A.select B.from C.where D.having
7.下列程式碼顯示了PROFITS表輸出的區域性:
PRODUCT_NAME PRODUCT_TYPE QTR_END_DATE PROFIT
BARNEY DOLL[巴尼娃娃] TOY 31-MAR-2001 6575430.30
GAS GRILL[瓦斯燒烤爐] APP 31-MAR-2001 1234023.88
PENCIL OFFICE 30-JUN-2001 34039.99
下列查詢的where子句哪個能正確計算2001年1月1日到6月1日六個月內銷售的所有家電總利潤?
A.where product_name = ‘GAS GRILL’ and qtr_end_date between ’01-JAN-2001’ and ‘01-JUN-2001’;
B.where proeuct_type = ‘APPLIANCE[]’ and name = ‘GAS GRILL’ and qtr_end_date
= ’31-JAN-2001’ or ‘30-JUN-2001’;
C.where proeuct_type = ‘APPLIANCE’ and qtr_end_date between ’01-JAN-2001’ and ’01-JUN-2001;
D.where proeuct_name = ‘GAS GRILL’ and qtr_end_date = ’01-JAN-2001’ or ‘01-JUN-2001’;
用下列程式碼所示的內容回答後面八個問題:
EMPNO ENAME JOB MGR HIREDATE[一 月:January 簡寫:Jan.
二 月:February 簡寫:Feb.
三 月:March 簡寫:Mar.
四 月:April 簡寫:Apr.
五 月:May 簡寫:May.
六 月:June 簡寫:Jun.
七 月:July 簡寫:Jul.
八 月:August 簡寫:Aug.
九 月:September 簡寫:Sep.
十 月:October 簡寫:Oct.
十一月:November 簡寫:Nov.
十二月:December 簡寫:Dec. ] SAL COMM DEPTNO
7369 SIMTH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7788 SCOTT ANALYST 7566 19-APR-82 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SET-81 1500 0 30
7876 ADAMS CLERK 7788 23-DEC-82 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
8.以下選項中哪個是下列查詢返回的值:select sum(sal) + sum(comm) from emp where job = ‘ANALYST’ or ename like ‘J%’ ?
A.6000 B.9925 C.9975 D.NULL
9.以下選項中哪個是下列查詢返回的值:select count(mgr) from emp where deptno = 10 ?
A.1 B.2 C.3 D.NULL
10.以下選項中哪個是下列查詢返回的值:select count(*) from emp where mgr = 7700-2 ?
A.5 B.6 C.7 D.NUL
11.以下選項中哪個是下列SQL命令產生的第三個員工:select ename, sal from emp where job= ‘SALESMAN’ order by empno desc ?
A.ALLEN B.MARTIN C.TURNER D.WARD
12.以下選項中哪個是下列SQL命令產生的第三個員工:ename, sal from emp where job= ‘SALESMAN’ order by 1 desc ?
A.ALLEN B.MARTIN C.TURNER D.WARD
13.以下選項中哪個是發出下列查詢後Oracle返回的值:select substr(job, 1, 3) from emp where ename like upper(‘__ar%’) ?
A.ANA B.CLE C.MAN D.SAL
14.以下選項中哪個是發出下列查詢後Oracle返回的值:select trunc(months_between(min(hiredate), max(hiredate))) from emp ?
A.24 B.25 C.-24 D.-25
15.以下選項中哪個是發出下列查詢後Oracle返回的值:select * from emp where hiredate > ’23-JAN-82’ ?(選擇兩個答案)
A.ADAMS B.MILLER C.SCOTT D.SMITH
16.TEST表包含兩個列,TESTCOL定義為資料型別NUMBER(10),TESTCOL_2定義為資料型別VARCHAR2(10)。在Oracle中發出下列語句:insert into test(testcol, testcol_2) values (null, ‘FRANCIS’),然後對錶進行下列查詢:select nvl(testcol, ‘EMPTY’) as testcol from test where testcol_2 = ‘FRANCIS’。下列選項哪個是得到的結果?
A.Oracle返回結果0 B.Oracle返回結果EMPTY
C.Oracle返回結果NULL D.Oracle返回錯誤結果
17.要從ORDERS表中取得資料,其中包括三個列CUSTOMER、ORDER_DATE與ORDER_AMT。可以用下列哪個where子句查詢ORDERS表,取得客戶LESLIE超過2700的訂單?
A.where customer = ‘LESLIE’;
B.where customer = ‘LESLIE’ and order_amt < 2700;
C.where customer = ‘LESLIE’ or order_amt > 2700;
D.where customer = ‘LESLIE’ and order_amt > 2700;
18.用下列輸出回答問題(假設這裡的資訊來自本章使用的EMP表):
EMPNO
SMITH-dog-
ALLEN-dog-
WARD-dog-d
JONES-dog-
MARTIN-dog
BLAKE-dog-
CLARK-dog-
SCOTT-dog-
KING-dog-d
TURNER-dog
JAMES-dog-
FORD-dog-d
MILLER-dog
下列哪個SQL語句產生這個輸出?
A.select trim(trailing ‘-dog’ from ename) as ename from emp;
B.select rpad(ename, 10, ‘-dog’) as ename from emp;
C.select substr(ename,1 , 10) as ename from emp;
D.select lpad(ename, 10, ‘-dog’) as ename from emp;
19.用下列程式碼塊回答問題:
SQL> select ______(-45) as output from dual;
OUTPUT
-45
下列哪個單行函式無法產生這個輸出?
A.abs() B.ceil() C.floor() D.round()
20.對錶中的某一行,VARCHAR2列包含數值SMITHY,應用程式在右側填充七個空格。length()函式處理這個列值時,返回什麼值?
A.6 B.13 C.30 D.60
21.SQL *Plus中發出的下列語句:
SQL> select ceil(-97.342),
2 floor(-97.342),
3 round(-97.342),
4 trunc(-97.342)
5 from dual;
下列哪個函式不返回結果-97?
A.ceil() B.floor() C.round() D.trunc()
22.SQL *Plus中發出的下列語句:
SQL> select ceil(256.342),
2 floor(256.342),
3 round(256.342),
4 trunc(256.342)
5 from dual;
下列哪個函式不返回結果256?
A.ceil() B.floor() C.round() D.trunc()
23.在Oracle中發出的下列查詢:
SQL> select months_between(‘15-MAR-83’,’15-MAR-97’) form dual;
Oracle返回什麼?
A.14 B.-14 C.168 D.-168
24.你要在Oracle中使用日期資訊的格式掩碼。下列哪種情形不適合這個格式掩碼?
A.to_date() B.to_char() C.alter session set nls_date_format D.to_number()
25.資料庫中有兩表PRODUCT與STORAGE_BOX,PRODUCT表中列出各個產品的惟一ID號、產品名和特定產品所在的箱子。另一個表中列出各個儲存箱(用數字標識)可以包含許多產品,但每個箱子只能在一個地方。下列哪個語句能正確顯示這個資料庫中所有產品ID、名稱和箱子地址?
A.select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where
p.prod_id = b.prod_id and prod_name=’WIDGET’;
B.select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where
prod_name=’WIDGET’;
C.select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where
p.stor_box_num = b.stor_box_num and prod_name=’WIDGET’;
D.select prod_id, prod_name, box_loc from product , storage_box where
stor_box_num = stor_box_num and prod_name=’WIDGET’;
26.開發報表時,要連線三個表的資訊,這些表為EMP、DEPT與SALGRADE。只需要公司10級以上員工相應的員工、部門地址與工資範圍的記錄。這個查詢需要多少比較運算?
A.2 B.3 C.4 D.5
27.要連線兩個表PRODUST與STOTAGE的內容,列出所有包含產品的箱子地址。PRODUCT有三列ID、NAME與BOX#;STORAGE有兩列BOX#與LOC。下列哪個選項無法得到想要的結果?
A.select product.id, product.name, storage.loc from product, storage where product.box#=storage.box#;
B.select product.id, product.name, storage.loc from product join storage on product.box#=storage.box#;
C.select product.id, product.name, storage.loc from product natural join storage on product.box#=storage.box#;
D.select product.id, product.name, storage.loc from product natural join storage;
28.你要定義外連線,下列哪個選項正確描述了外連線語句?
A.由於外連線操作允許一個表中有NULL值,因此連線這些表時不必指定相等性比較。
B.在表A與B的外連線語句中,如果不管B表有無相應記錄,都要顯示錶A的所有行,
則可以使用右外連線。
C.在表A與B的外連線語句中,如果不管A表有無相應記錄,都要顯示錶B的所有行,
則可以使用左外連線。
D.儘管外連線操作允許一個表中有NULL值,但連線這些表時仍要指定相等性比較。
29.資料庫中有兩個表PRODUCT與STORAGE_BOX,表中列出各個產品的惟一ID號、產品名和特定產品所在的箱子。另一個表中列出各個儲存箱(用數字標識)可以包含許多產品,但每個箱子只能在一個地方。下列哪個語句能正確顯示這個資料庫中所有產品ID、名稱和箱子地址,不管有沒有指定儲存箱?
A.select p.prod_id, p.prod_name, b.box_loc from product p left outer join storage_box b on p.stor_bax_num = b. stor_bax_num where prod_name=’WIDGET’(+);
B.select p.prod_id, p.prod_name, b.box_loc from product p left outer join storage_box b on p.stor_bax_num = b. stor_bax_num where prod_name=’WIDGET’ ;
C.select p.prod_id, p.prod_name, b.box_loc from product p right outer join storage_box b where b.stor_bax_num = p. stor_bax_num(+) and prod_name=’WIDGET’(+);
D.select p.prod_id, p.prod_name, b.box_loc from product p full outer join storage_box b on p.stor_bax_num = b. stor_bax_num where b.stor_box_num is NULL ;
30.Oracle中發出下列命令:
SQL> select e.ename,a.street_address,a.city,a.post_code
2 from emp e,addr a
3 where e.empno = a.empno(+)
4 and a.state = ‘TEXAS’;
下列哪個選項顯示等價ANSI/ISO語句?
A.select e.ename, a.street_address, a.city, a.state, a.post_code from emp e outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;
B.select e.ename, a.street_address, a.city, a.state, a.post_code from emp e left outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;
C.select e.ename, a.street_address, a.city, a.state, a.post_code from emp e right outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;
D.select e.ename, a.street_address, a.city, a.state, a.post_code from emp e right outer join addr a where e.empno = a.empno(+) and a.state = ‘TEXAS’;
578-X WIDGET IDAHO
TENNESSEE
456-Y WIDGET
下列哪個選項是產生這個結果的查詢型別?
A.全外連線 B.左外連線 C.右外連線 D.等連線
32.PROFITS表儲存公司不同地區、產品型別和季度的利潤資訊。下列哪個SQL語句顯示不同地區、產品型別和季度的利潤的交叉表輸出?
A.select region, product_type, time, sum(profit) from profits group by region, prod_type, time;
B.select region, product_type, time from profits group by rollup(region, prod_type, time);
C.select region, product_type, time, from profits group by cube(region, prod_type, time);
D.select region, product_type, time,sum(profit) from profits group by cube(region, prod_type, time);
33.對資料庫執行下列哪個group by查詢時會從Oracle產生錯誤?
A.select deptno, job, sum(sal) from emp group by job, deptno;
B.select sum(sal), deptno, job from emp group by job, deptno;
C.select deptno, job, sum(sal) from emp;
D.select deptno, sum(sal), job from emp group by job, deptno;
34.檢查下列SQL的輸出
SQL> select a.deptno,a.job,b.loc,sum(a.sal)
2 from dmp a,dept b
3 where a.deptno = b.depton
4 group by a.deptno,a.job,b.loc
5 order by sum(a.sal);
這個查詢按哪個列的順序返回輸出?
A.A.DEPTON B.A.JOB C.B.LOC D.SUM(A.SAL)
35.要查詢的PROFITS表儲存公司不同地區、產品型別和季度的利潤資訊。下列哪個SQL語句按不同地區、產品型別和季度求出平均利潤大於100000美元的利潤?
A.select region, prod_type, period, avg(profits) from profits where avg(prodit) > 100000 group by region, prod_type, period;
B.select region, prod_type, period, avg(profits) from profits where avg(prodit) > 100000 order by region, prod_type, period;
C.select region, prod_type, period, avg(profits) from profits group by region, prod_type, period having avg(prodit) > 100000;
D.select region, prod_type, period, avg(profits) from profits group by region, prod_type, period having avg(prodit) < 100000;
36.公司的員工費用應用程式有兩表,一個是EMP,包含所有員工資料,一個是EXPENSE,包含公司每個員工提交的費用票據。下列哪個查詢取得提交的費用總和超過其工資值的員工ID與姓名?
A.select e.empno, e.ename from emp e where e.sal < (select sum(x.vouch_amt) from expense x) and x.empno = e.empno;
B.select e.empno, e.ename from emp e where e.sal < (select x.vouch_amt from expense x where x.empno = e.empno);
C.select e.empno, e.ename from emp e where e.sal < (select sum(x.vouch_amt) from expense x where x.empno = e.empno);
D.select e.empno, e.ename from emp e where exists (select sum(x.vouch_amt) from expense x where x.empno = e.empno);
37.看看下列語句:
SQL> select ename
2 from emp
3 where empno in
4 ( select empno
5 from expense
6 where vouch_amt > 10000 );
下列哪個SQL語句產生與上面相同的輸出,改寫成使用運算子?
A.select e.ename from emp e where exists(select x.empno from expense x where x.vouch_amt>10000) and x.empno = e.empno;
B.select e.ename from emp e where exists(select x.empno from expense x where x.vouch_amt>10000 and x.empno = e.empno);
C.select e.ename from emp e where x.empno = e.empno and exists(select x.empno from expense x where x.vouch_amt>10000)
D.select e.ename from emp e, expense x where x.empno = e.empno and x.vouch_amt>10000 and exists(select x.empno from expense x where)
38.用下列程式碼塊回答問題:
SQL> select deptno,job,avg(sal)
2 from emp
3 group by deptno,job
4 having avg(sal)>
5 ( select sal
6 from emp
7 where ename = ‘MARTIN’ );
上述語句使用下面哪種子查詢?
A.單行子查詢 B.多行子查詢 C.from子句子查詢 D.多列子查詢
39.公司銷售資料庫有兩個表,PROFITS儲存不同地區不同季度的產品銷售利潤,REGIONS儲存每個部門地區名稱、該地區總部地址和該地區副總裁姓名。下列哪個查詢取得SMITHERS、FUJIMORI與LIKKARAJU領導的地區的玩具銷售利潤?
A.select sum(profit) from profits where region in (select region froms regions where reg_head in (‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’;
B.select sum(profit) from profits where region like (select region froms regions where reg_head in (‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’) and product =’TOYS’ );
C.select sum(profit) from profits where region = (select region froms regions where reg_head in (‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’;
D.select sum(profit) from profits where region is (select region froms regions where reg_head in (‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’;
40.下列程式碼塊顯示的查詢包含一個子查詢:
SQL> select dname, avg(sal) as dept_avg
2 from emp, dept
3 where emp.deptno = dept.deptno
4 group by dname having avg(sal) >
5 ( select avg(sal)*1/4
6 from emp,dept
7 where emp.deptno = dept.deptno )
8 order by avg(sal);
可以用下列哪個子句重新定義這個查詢,刪除子查詢與主查詢中組函式執行的重複?
A.group by B.order by C.with D.having
41.用下列程式碼塊回答問題:
SQL> select e.deptno,e.ename,e.job,e.sal
2 from emp e
3 where e.sal =
4 ( select max(e2.sal)
5 from emp e2
6* where nvl(e.deptno,99) = nvl(e2.deptno,99));
DEPTNO ENAME JOB SAL
30 BLAKE MANAGER 2850
10 CLARK MANAGER 2450
20 SCOTT ANALYST 3000
KING PRESIDENT 5000
20 FORD ANALYST 3000
要在上述返回集的DEPTNO列中顯示99,可以用下列哪個SQL語句?
A.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno, e.sal) = (select max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno, 99));
B.select nvl(e.deptno,99), e.ename, e.sal from emp e where e.sal = (select max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno, 99));
C.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno, e.sal) = (select e2.deptno,max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno, 99));
D.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno, e.sal) = (select e2.deptno,max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno, 99) group by e1.deptno);
42.公司銷售資料庫包含一個PROFITS表,按產品名、銷售地區和季度列出利潤資訊。如果要取得公司五個最暢銷產品清單,可以用下列哪個SQL語句:
A.select p.prod_name, p.profit from (select prod_name, profit from profits order by profit desc) where rownum <= 5;
B.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits group by prod_name order by sum(profit) desc) subq where p.prod_name = subq.prod_name;
C.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits group by prod_name order by sum(profit) desc) where rownum <= 5;
D.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits
order by sum(profit) desc) where rownum <= 5;
43.檢查下列程式碼段中的指令碼dates.sql:
accept v_hiredate prompt ‘enter hire date => ’
select empno, ename, job
from emp
where trunc(hiredate) = trunc(‘&v_hiredate’);
為了使指令碼正確工作,要改變哪個方面?
A.變數v_hiredate應變成接受DATE資訊。 B.查詢中的trunc()函式應刪除。
C.accept命令中的prompt子句是多餘的。 D.這個指令碼很好。
44.Oracle中要生成資料庫表,下列哪個選項是無效表生成的語句?
A.create table cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));
B.create table my_cats as select * from cats where owner = ‘ME’;
C.create global temporary table temp_cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));
D.create table 51cats as select c_name, c_weight from cats where c_weight > 5;
45.試圖在Oracle生成表時遇到下列錯誤:ORA-00955-name is already used by existing object。下列哪個選項無法糾正這個錯誤?
A.以不同的使用者身份生成物件。 B.刪除現有同名物件
C.改變生成物件中的列名。 D.更名現有同名物件。
46.SALES表中的PROFITS列宣告為NUMBER(10, 2)。下列哪個值無法在這個列中儲存?
A.5392845.324 B.871039453.1 C.75439289.34 D.60079829.25
47.員工KING於1981年11月17日聘用,你對Oracle資料庫發出下列查詢:select vsize(hiredate) from emp where ename = ‘KING’。下列哪個選項是返回的值?
A.4 B.7 C.9 D.17
48.SALES表中將PRODUCT_NAME列定義為CHAR(40)。後面要在表中增加一行,PRODUCT_NAME值為CAT_TOYS。然後發出下列命令:select vsize(product_name) from sales。下列哪個選項是返回的值?
A.8 B.12 C.40 D.4000
49.JOB表有三個列JOB_NAME、JOB_DESC和JOB_WAGE。用下列命令在JOB_DESC表中插入新行:
SQL> insert into job(job_name, job_desc)
2 values (‘LUCKEY’, ‘MAKES COFFEE’);
之後查詢這個表時得到的結果:
SQL> select * from job where job_name = ‘LUCKEY’;
JOB_NAME JOB_DESC JOB_WAGE
LUCKEY MAKES COFFEE 35
資料是如何填信JOB_WAGE表的?
A.JOB表中的LACKEY行已經存在,JOB_WAGE設定為35。
B.生成表時JOB_WAGE列定義的default子句指定插入行時的值。
C.insert語句的values子句包含隱藏值,在插入行時加入。
D.惟一理由是對JOB表發出的後一個update語句增加了JOB_WAGE值
50.刪除Oracle資料庫中父/子關係中的父表。在刪除父表時下列哪個物件不會刪除?
A.相關約束 B.子表 C.相關觸發器 D.相關索引
二、問答題(每題10分)
1.什麼是事務、特點、在Oracle中具體的應用[. 事務是資料庫中最小的一個邏輯工作單元。
特點:ACID,分別指
事務的原子性:就是事務所包含的資料庫操作要麼都做,要麼都不做;
事務的一致性:是事務原子性的體現,事務所對應的資料庫操作要麼成功要麼失敗沒有第三種情況。事務不管是提交成功與否都不能影響資料庫資料的一致性狀態;
事務的隔離性:事務對資料的操作不能夠受到其他事務的影響;
事務的持續性:也就是說事務對資料的影響是永久的。
在oracle中已commit或rollback作為上一個事務的結束標誌及下一個新事物開始的標誌。
]?
事務(Transaction)是併發控制的基本單位。所謂的事務,它是一個操作序列,這些操作要麼都執行,要麼都不執行,它是一個不可分割的工作單位。事務是資料庫維護資料一致性的單位,在每個事務結束時,都能保持資料一致性。
事務的特點:
原子性:就是事務所包含的資料庫操作要麼都做,要麼都不做;
一致性:是事務原子性的體現,事務所對應的資料庫操作要麼成功要麼失敗沒有第三種情況。事務不管是提交成功與否都不能影響資料庫資料的一致性狀態;
隔離性:事務對資料的操作不能夠受到其他事務的影響; 事務的持續性:也就是說事務對資料的影響是永久的。
在oracle中已commit或rollback作為上一個事務的結束標誌及下一個新事物開始的標誌。
2.oracle中如何獲取系統時間?
select sysdate ,systimestamp from dual
3. Truncate與 delete的區別?
① Delete from 表名稱 where 列名稱 = 值;可以通過日誌檔案恢復;(DML)
Commit; --提交 Rollback;–回滾
② Truncate table表名; 整表刪除僅刪除表中資料,刪除的資料不能恢復;(DDL)
- DDL和DML分別代表什麼?
1.DDL: 針對表來定義的,CREATE(建立)、ALTER(更改)、DROP、Truncate (刪除)
2.DML: 針對表中的資料進行操作的,INSERT(插入)、SELECT(查詢)、UPDATE(修改)、DELETE(刪除)
(DQL)資料查詢:SELECT(查詢),經常會放置在DML中
5.Oracle使用什麼語句給使用者分配許可權?
Grant 許可權 to 使用者名稱;