Oracle期末复习1

基础选择题

一.单选题(共25题,75.0分)

1

在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是()阶段。(3.0分)

  • A、数据库系统
  • B、文件系统
  • C、人工管理
  • D、数据项管理

我的答案:A

2

数据库的概念模型独立于()。(3.0分)

  • A、具体的机器和DBMS
  • B、E-R图
  • C、信息世界
  • D、现实世界

我的答案:A

3

()是存储在计算机内有结构的数据的集合。(3.0分)

  • A、数据库系统
  • B、数据库
  • C、数据库管理系统
  • D、数据结构

我的答案:B

4

数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()。(3.0分)

  • A、DBS包括DB和DBMS
  • B、DDMS包括DB和DBS
  • C、DB包括DBS和DBMS
  • D、DBS就是DB,也就是DBMS

我的答案:A

5

数据库管理系统是()。(3.0分)

  • A、操作系统的一部分
  • B、在操作系统支持下的系统软件
  • C、一种编译程序
  • D、一种操作系统

我的答案:B

6

数据库系统的数据独立性是指()。

(3.0分)

  • A、

    不会因为数据的变化而影响应用程序

  • B、

    不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序

  • C、

    不会因为存储策略的变化而影响存储结构

  • D、

    不会因为某些存储结构的变化而影响其他的存储结构

我的答案:B

7

数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是()。(3.0分)

  • A、层次数据模型
  • B、网状数据模型
  • C、关系数据模型
  • D、面向对象数据模型

我的答案:C

8

在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的()阶段。(3.0分)

  • A、需求分析
  • B、概念设计
  • C、逻辑设计
  • D、物理设计

我的答案:B

9

概念模型独立于()。(3.0分)

  • A、E-R模型
  • B、硬件设备和DBMS
  • C、操作系统和DBMS
  • D、DBMS

我的答案:B

10

DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和()。(3.0分)

  • A、系统分析员
  • B、程序员
  • C、数据库管理员
  • D、操作员

我的答案:C

11

描述数据库全体数据的全局逻辑结构和特性的是() 。(3.0分)

  • A、模式
  • B、内模式
  • C、外模式
  • D、用户模式

我的答案:A

12

用户或应用程序看到的那部分局部逻辑结构和特征的描述是( ),它是模式的逻辑子集。(3.0分)

  • A、模式
  • B、物理模式
  • C、子模式
  • D、内模式

我的答案:C

13

概念模型是现实世界的第一层抽象,这一类最着名的模型是( ) 。(3.0分)

  • A、层次模型
  • B、关系模型
  • C、网状模型
  • D、实体-关系模型

我的答案:D

14

区分不同实体的依据是( ) 。(3.0分)

  • A、名称
  • B、属性
  • C、对象
  • D、概念

我的答案:B

15

在关系数据库中,用来表示实体间联系的是()。(3.0分)

  • A、属性
  • B、二维表
  • C、网状结构
  • D、树状结构

我的答案:B

16

一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之 间的联系是( )

(3.0分)

  • A、一对一
  • B、一对多
  • C、多对多
  • D、多对一

我的答案:C

17

从计算机软件系统的构成看,DBMS是建立在( )之上的软件系统(3.0分)

  • A、硬件系统
  • B、操作系统
  • C、语言处理系统
  • D、编译系统

我的答案:B

18

以下对关系模型性质的描述,不正确的是( )。(3.0分)

  • A、在一个关系中,每个数据项不可再分,是最基本的数据单位
  • B、在一个关系中,同一列数据具有相同的数据类型
  • C、在一个关系中,各列的顺序不可以任意排列
  • D、在一个关系中,不允许有相同的字段名

我的答案:C

19

E-R图用于描述数据库的( )。(3.0分)

  • A、概念模型
  • B、数据模型
  • C、存储模型
  • D、逻辑模型

我的答案:A

20

位于用户与操作系统之间的一层数据管理软件,数据库在建立、使用和维护时由其统一管理、统一控制,该软件是:(3.0分)

  • A、DBMS
  • B、DB
  • C、DBS
  • D、DBA

我的答案:A

21

目前已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统的是:(3.0分)

  • A、关系数据库
  • B、面向对象数据库
  • C、分布数据库
  • D、对象-关系数据库

我的答案:A

22

下列说法中,不属于数据库管理系统特征的是()(3.0分)

  • A、提供了应用程序和数据的独立性
  • B、所有的数据作为一个整体考虑,因此是相互关联的数据的集合
  • C、用户访问数据时,需要知道存储数据的文件的物理信息
  • D、能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失

我的答案:C

23

下列关于数据库技术的描述,错误的是()(3.0分)

  • A、数据库中不但需要保存数据,而且还需要保存数据之间的关联关系
  • B、由于数据是存储在磁盘上的,因此用户在访问数据库数据时需要知道数据的存储位置
  • C、数据库中数据存储结构的变化不会影响到应用程序
  • D、数据库中的数据具有较小的数据冗余

我的答案:B

24

下列模式中,用于描述单个用户数据视图的是()(3.0分)

  • A、内模式
  • B、概念模式
  • C、外模式
  • D、存储模式

我的答案:C

25

E-R图是数据库设计的工具之一,它适用于建立数据库的( )(3.0分)

  • A、概念模型
  • B、逻辑模型
  • C、结构模型
  • D、物理模型

我的答案:A

操作题

1. 根据要求,完成以下题目。注意:通过scott用户下的emp表实现(empno员工号,ename员工名,sal工资,deptno 部门号)。
(1)创建一个存储过程,以部门号为参数,输出该部门的人数。
    Create or replace procedure process(dno number,dept_num out number)
    Is
    Begin
    Select count(*) into dept_num from emp where deptno = dno;
    Dbms_output.put_line(dept_num);
    End;

(2)创建一个函数,以部门号为参数,返回该部门的平均工资。
    Create or replace function get_sal_avg(dept number)
    Return number
    Is
    V_avg number(8,2);
    begin
    Select avg(sal) into V_sal from emp where deptno = dept;
    Return V_sal;
    End;

2.  在SCOTT模式下有两个结构完全相同的表emp和emp_copy。每当向emp表插入一条新的记录时,ORACLE自动将新插入的记录复制到emp_copy表中请创建一个触发器tg_emp_insert实现上述要求的功能。(10分)
(说明:emp表的结构如下:emp(empno,ename,job,depno,sal,hiredate,comm)
    create or replace trigger copy_trigger
    after
    insert on emp
    for each row
    begin
    insert into emp_copy
    values(:new.empno,:new.ename,:new.job,:new.depno,:new.sal,:new.hireda            te,:new.comm);
    end;

基础查询语句

1、工资在2000到2500的员工的员工姓名,部门编号,工资

select empno,ename,sal from emp where sal>=2000 and sal<=2500;

2、显示每个雇员的年薪(12月的工资+奖金,注意判断奖金是否为空),并根据年薪排序

select ename,(sal*12+comm) as money from emp order by money

3、查找1982.1.1后入职的员工信息,并根据入职时间排序(注意时间类型的处理,可以用指定格式字符串自动转换也可以使用转换函数)

 select empno,ename,hiredate from emp where hiredate >to_date('1982/1/1','yyyy/mm/dd') order by hiredate;

4、显示名字中包含A的员工姓名和工资(like模糊查询)

select ename,sal from emp where ename like ‘%A%’;

5、显示所有员工中最高工资和最低工资(统计函数)

select max(sal),min(sal) from emp;

6、显示每个部门的每种岗位的平均工资和最高工资(分组)

select deptno,job,avg(sal),max(sal) from emp group by deptno,job;

7、查询SMITH部门和岗位相同的雇员信息

select * from emp where deptno=(select deptno from emp where ename='SMITH') and job =(select job from emp where ename='SMITH');

8、显示高于自己部门平均工资的员工信息

select * from emp e where e.sal > (select avg(sal) from emp where deptno=e.deptno);

9、要求查询出雇员的姓名, 工作, 雇员的直接上级领导姓名以及部门名称

select t1.ename 员工姓名, t2.ename 直接上级 from emp t1,emp t2 where t1.MGR = t2.empno;

 select e.ename,e.job,m.ename,d.dname from emp e,emp m,dept d where e.mgr=m.empno and e.deptno=d.deptno;

10、查询同部门中工资高于1000 的员工数量超过2人的部门名称和人数

SELECT dname,COUNT(*)

 FROM emp ,dept 

WHERE emp.deptno =dept.deptno AND sal > 1000

GROUP BY dname

HAVING COUNT(*) > 2;   

11、查询20号部门的员工号、员工名及其部门名称,和所有其他部门的部门名

SELECT empno,ename,dname FROM emp right join dept  on emp.deptno=dept.deptno AND emp.deptno=20

SELECT empno,ename,job,deptno FROM emp e

     WHERE EXISTS(SELECT * FROM emp

                  WHERE mgr=e.empno);

SELECT empno,ename,job,deptno FROM emp e

     WHERE empno IN (SELECT mgr FROM emp

                     WHERE mgr IS NOT NULL);

plsql基础

1.使用loop语句求前100个自然数的和,并输出到屏幕。

 declare

    iint:=0;

   sum_i int:=0;

 begin

   loop

       i:=i+1;

       sum_i:=sum_i+i;

       exit when i=100;

   end loop;

   dbms_output.put_line('前100个自然数的和是:'||sum_i);

 end;

2.使用while语句求前100个自然数的和,并输出到屏幕。

 declare

    iint:=0;

   sum_i int:=0;

 begin

   while i<=99 loop

      i:=i+1;

     sum_i:=sum_i+i;

   end loop;

    dbms_output.put_line('前100个自然数的和是:'||sum_i);

 end;

3.使用for语句求前100个自然数中偶数之和,并输出到屏幕。

 declare

   sum_i int:=0;

 begin

   for i in 1..100 loop

       if mod(i,2)=0 then

          sum_i:=i+sum_i;

       end if;

   end loop;   

   dbms_output.put_line('前100个自然数的和是:'||sum_i);

4.输入一个雇员编号,如果该雇员的职位是PRESIDENT就给他的工资增加1000,如果该雇员的职位是MANAGER 就给他的工资增加500,其它职位的雇员工资增加200。

declare

   v_empno number(32) :=&n;  

   v_job varchar2(20); 

   v_sal number(20);             

begin

  select job,sal into v_job,v_sal from emp where empno=v_empno;

  if(v_job ='PRESIDENT') then v_sal :=v_sal+1000;

  elsif (v_job = 'MANAGER') then v_sal :=v_sal+500;

  else v_sal :=v_sal+200;

  end if;

  dbms_output.put_line(v_sal);

end;

游标

1.分别用LOOP循环、WHILE循环、FOR循环以及显式游标统计并输出各个部门的人数以及平均工资;

  1. loop简单循环

declare

  cursor c_emp is select count(*) c_deptno,avg(sal) c_avgsal from emp group by deptno;

  v_dept c_emp%rowtype;

begin

  open c_emp;

  loop

    fetch c_emp into v_dept;

    exit when c_emp%notfound;

    dbms_output.put_line(v_dept.c_deptno||' '||v_dept.c_avgsal);

  end loop;

  close c_emp;

end;

2.while循环

declare

  cursor c_emp is select count(*) c_deptno,avg(sal) c_avgsal from emp group by deptno;

  v_dept c_emp%rowtype;

begin

  open c_emp;

  fetch c_emp into v_dept;

  while c_emp%found loop

    dbms_output.put_line(v_dept.c_deptno||' '||v_dept.c_avgsal);

    fetch c_emp into v_dept;

  end loop;

  close c_emp;

end;

3.for循环

declare

  cursor c_emp is select count(*) c_deptno,avg(sal) c_avgsal from emp group by deptno;

begin

  for v_dept in c_emp loop

    dbms_output.put_line(v_dept.c_deptno||' '||v_dept.c_avgsal);

  end loop;

end;

2.使用隐式游标实现以下要求:修改部门号为50的部门地址为‘BEIJING’。如果该部门不存在,则向dept表中插入一个部门号为50,地址为‘BEIJING’的记录。

declare 

begin

    update dept set loc='BEIJING' where deptno=50;

    if sql%notfound then

      insert into dept(deptno,loc) values(50,'BEIJING');

    end if;

end;

函数和过程

1.创建一个存储过程,以部门号为参数,输出入职日期最早的10个员工信息。

create or replace procedure p_sxt4(v_deptno emp.deptno%type) is

cursor c_emp is select * from emp where deptno = v_deptno order by hiredate;

v_times number := 0;

begin

for v_emp in c_emp loop

v_times := v_times + 1;

dbms_output.put_line(v_emp.empno || '**' || v_emp.ename || '**' || to_char(v_emp.hiredate,'yyyy-mm-dd'));

if v_times = 10 then

exit;

end if;

end loop;

end;

--执行

begin

p_sxt4(20);

end;

2.创建一个函数,以员工号为参数,返回该员工所在的部门的平均工资

create or replace function f_sxt7(v_empno emp.empno%type) return emp.sal%type is

vr_sal emp.sal%type;

begin

select avg(sal) into vr_sal from emp where deptno = (select deptno from emp where empno = v_empno);

return vr_sal;

end;

--执行

select f_sxt7(7369) from dual;

触发器

1.假设在SCOTT模式下有两个结构完全相同的表emp和emp_bak。每当删除emp表的记录时,ORACLE自动将新删除的记录移动到emp_bak表中。请创建一个触发器tg_emp_Delete实现上述要求的功能。

CREATE OR REPLACE TRIGGER tg_emp_deletet   

AFTER DELETE ON emp   

FOR EACH ROW  

BEGIN

   INSERT INTO emp_copy VALUES(:OLD.empno, :OLD.ename, :OLD.job, :OLD.deptno, :OLD.sal, :OLD.hiredate, :OLD.comm);  

END tg_emp_delete;  

2.编写一个触发器,实现周末禁止操作员工表(emp)的功能

create or replace trigger tri_emp_dml

       before update or delete or insert on emp

declare

       v_day varchar2(20);

begin

       select to_char(sysdate,'dy')into v_day from dual;

       if v_day='星期六' or v_day='星期日' then

         if inserting then

            raise_application_error(-20001,'周末不能对员工表做添加操作');

-- RAISE_APPLICATION_ERROR 是将应用程序专有的错误从服务器端转达到客户端应用程序,里面的错误代码和内容,都是自定义的。

         end if;

         if updating then

            raise_application_error(-20002,'周末不能对员工表做修改操作');

         end if;

         if deleting then

            raise_application_error(-20003,'周末不能对员工表做删除操作');

         end if;

       end if; 

end;

简答题


1、Please describe the physical storage structure and  logical storage structure of the ORACLE database. 

①逻辑存储结构主要描述Oracle数据库的内部存储结构,即从技术概念上描述在Oracle数据库种如何组织、管理数据.因此,逻辑存储结构是和操作系统平台无关的,是由Oracle数据库创建和管理的.
②Oracle通过表空间(tablespace)方式,将逻辑存储从物理存储中抽象出来。表空间在逻辑上是一个或多个段的集合,在物理上是一个或多个数据文件的集合。如果使用“关系分析”术语,则段和数据文件之间存在多对多关系:可以将一个表分布在多个数据文件中,而一个数据文件也可能包含多个表的一部分。Oracle通过在段和文件之间插入表空间实体,解决这种多对多关系的问题。

2、Inputing and operating the following code, Analysis of the function of the code.
DECLARE
X  NUMBER(7,2);
BEGIN
    SELECT sal INTO x FROM emp  WHERE empno = 7788;
IF x < 3000 THEN  
UPDATE emp  SET sal = 3000
    WHERE  empno = 7788;
    END IF;
END;
更新empno为7788的工资,如果工资小于3000,则把该号员工的工资定为3000


3、请在system模式中建立序列xl,序列起始值是100,步长为1。向system模式下的stu(sno,sname,sage,sex)表中插入一条记录,其中主键sno字段的值来自序列xl,姓名’TOM’,年龄18,性别’男’。
Create table stu
values(sno number(8),sname varchar2,sage number(3),sex varchar2);
Create sequence xl;
Insert into stu values(xl.nextval+100,’tom’,18,’男’);
请简述游标的作用,并说明操作游标的一般过程。
    游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。
过程:
①定义游标
②打开游标
③提取游标数据
④关闭游标


设计题样题:


1、创建一个存储过程,以部门号为参数,查询该部门的平均工资,并输出该部门中比平均工资高的员工号、员工名。并且调用该存储过程,要求根据输入部门编号,查询平均工资及输出比平均工资高的员工号、员工名。
CREATE OR REPLACE PROCEDURE show_emp(p_deptnoemp.deptno%TYPE)
AS
v_salemp.sal%TYPE;
BEGIN
  SELECT avg(sal) INTO v_sal FROM emp WHERE deptno=p_deptno;
  DBMS_OUTPUT.PUT_LINE(p_deptno||' '||'average salary is:' ||v_sal);
  FOR v_emp IN (SELECT * FROM emp WHERE deptno=p_deptno AND sal>v_sal) LOOP
    DBMS_OUTPUT.PUT_LINE(v_emp.empno||' '||v_emp.ename);
  END LOOP;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('The department doesn’’t exists!');
END show_emp;

过程调用语句:
declare
vdeptnoemp.detpno%type;
Begin
vdeptno:=&deptno;
show_emp(vdeptno);
End; 

2、创建一个函数,以部门号为参数,返回部门名、部门人数及部门平均工资。并且调用该函数,输出所有有员工的部门的名称、部门人数和平均工资。
CREATE OR REPLACE FUNCTION ret_deptinfo(p_deptnodept.deptno%TYPE,
p_num OUT NUMBER, p_avg OUT NUMBER)
RETURN dept.dname%TYPE
AS
v_dnamedept.dname%TYPE;
BEGIN
  SELECT dname INTO v_dname FROM dept WHERE deptno=p_deptno;
  SELECT count(*),avg(sal) INTO p_num,p_avg FROM emp WHERE deptno=p_deptno;
  RETURN v_dname;
END ret_deptinfo; 
函数调用语句:
DECLARE
v_avgsalemp.sal%TYPE;
v_num    NUMBER;
v_dnamedept.dname%TYPE;
BEGIN
  FOR v_dept IN (SELECT DISTINCT deptno FROM emp) LOOP
v_dname:=ret_deptinfo(v_dept.deptno,v_num,v_avgsal);
    DBMS_OUTPUT.PUT_LINE(v_dname||'  '||v_maxsal||'  '||  v_avgsal||' '||v_num);
  END LOOP;
END;

3、创建学生表student(sno,sname,sex,sage),要求学号sno主键,姓名sname不能重复,性别sex只能是‘男’或者‘女’,年龄sage在15到25之间。创建课程表course(cno,cname),要求课程号cno主键,课程名cname唯一,同时为主键约束列上的唯一性索引设置存储位置和存储参数。创建学生选课表SC(sno,cno,grade),要求成绩grade大于0小于100,有两位小数,sno,cno都是外键,而且sno,cno一起做主键。
CREATE TABLE student(
sno NUMBER(6) CONSTRAINT S_PK PRIMARY KEY,
sname VARCHAR2(20)  UNIQUE,
     sex CHAR(2) CONSTRAINT S_CK1 CHECK(sex in('男', '女')),
sage  NUMBER(6,2) CONSTRAINT S_CK2 CHECK(sage between 15 and 25)
     );
CREATE TABLE course(
cno   NUMBER(6) PRIMARY KEY,
cname CHAR(20) UNIQUE 
     USING INDEX TABLESPACE USER
     STORAGE(INITIAL 64K NEXT 64K)
     ); 
CREATE TABLE  SC(
sno NUMBER(6) REFERENCES student(sno),
cno NUMBER(6) REFERENCES course(cno),
     grade NUMBER(5,2)CHECK(grade between 0 and100),
     CONSTRAINT SC_PK PRIMARY KEY(sno, cno)  
     );


4、创建用户user2,口令为user2,默认表空间为USERS,在该表空间的配额为10 MB,初始状态为锁定。创建用户user3,口令为user3,默认表空间为USERS,在该表空间的配额为10 MB,概要文件为example_profile(假设该概要文件已经创建),为用户user2授予CREATE SESSION,CREATE TABLE ,CREATE VIEW系统权限。user2获得权限后,为用户user3授予CREATE  TABLE权限。然后回收user2的CREATE TABLE权限。
SQL> conn system/oracle@orcl或者conn / as sysdba仅供参考,正确就行
SQL>CREATE USER user2IDENTIFIED BY user2
     DEFAULT TABLESPACE USERS QUOTA 10M ON USERS
     ACCOUNT LOCK;
SQL> CREATE USER user3 IDENTIFIED BY user3
     DEFAULT TABLESPACE USERS 
     QUOTA 10M ON USERS
     PROFILE example_profile ;
SQL>GRANT CREATE SESSION,CREATE TABLE,CREATE VIEW
     TO user2 WITH ADMIN OPTION;
SQL> CONNECT user2/user2 @ORCL 
SQL> GRANT CREATE TABLE TO user3;
SQL>conn system/oracle@orcl或者conn / as sysdba
SQL>revoke CREATE TABLE from user2;

5、使用EXPDP导出scott模式相关数据,并使用IMPDP将刚刚导出的scott模式相关数据导入到system模式,写出核心操作语句。
1、创建DIRECTORY:create directory dir_dp as 'D:/oracle/dir_dp'; 
2、授权        :Grant read,write on directory dir_dp to scott;
3、执行导出
expdpscott/tiger@orcl schemas=scott directory=dir_dpdumpfile =expdp_test1.dmp logfile=expdp_test1.log;
4、执行导入
impdp system/oracle@orcl directory=dir_dpdumpfile =expdp_test1.dmp remap_schema=scott:systemlogfile=impdp_test1.log;


问答题

1)数据库包含哪些那几种后缀名的文件必须,这些文件分别存放在什么的信息? 
    主要数据文件(.mdf) 包含数据用户收集的信息,还有数据库其他相关的信息, 日志数据文件(.ndf) 存放用户对数据库的增删改查的信息,用于备份恢复使用 
2) TRUNCATE TABLE 命令是什么含义?和Delete from 表名有什么区? 
    TRUNCATE TABLE: 提供了一种删除表中所有记录的快速方法 Delete from 表名:可以删除表的一个或多条记录 
3) 说出以下聚合数的含义:avg ,sum ,max ,min , count ,count(*) 
    AVG:求平均值 SUM:求和 MAX:求最大值 MIN:求最小值 COUNT(*):返回所有行数 COUNT返回满足指定条件的记录值 
4) inner join 是什么意思?作用是什么?写出基本语法结构。
    INNER JOIN 内联接,用于返回两个表中要查询的列数据通信 Select * from 表名1 inner join 表名2 on 条件表达式
 5) 左向外联接,右向外联接,全联接的关健字如何写? 
    Left outer join 左向外联接 Right outer join 右向外联接 Full outer join 全联接 
6) 子查询分为几类,说明相互之间的别 了查询分三种基本子查询: 
    1.使用in 查询返回一列或更多值 
    2.比较运算符,返回单个值勤做为外查询的参数 
    3.用exists 查询时相当于进行一次数据测试 
7) 实现实体完整性,实现域完整性,实现 完整性(引用完整性),实现自定义完整性分别使用什么手段?
    实现实体完整性: 主键约束 唯一约束 标识列 实现域完整性: 默认值约束 检查约束 非空属性 引和完整性: 外键引用
8) 视图可以更新吗?会影响到实际表吗? 
    视图是可以更新的,视图只是基于基本表上的虚拟表,对视图的更新会直接影响到实际表 
9) 谈谈这样几个角色, dbo , Sysadmin public 
    Dbo : 是数据库的拥有者,对数据库拥有所有操作的权限 Sysadmin : 可以对SQL SERVER执行任何活动 Public : 自动创建的,能捕获数据库中用户的所有默认权限
10) 何为动态游标?何为静态游标? 
    动态游标与静态游标相对,反映结果集中所做的所有更改, 静态游标的结果集在游标打开时,建立在tempdb中,总按照游标打开时的原样显示 
11) 什么是存储过程?为什么存储过程要比单纯的Sql 语句执行起来要快? 
    存储过程:是一组预先编译好的T-SQL代码 在创建存储过程时经过了语法和性能优化,执行不必重复的步骤,使用存储过程可提高运行效率 
12)什么是Inserted 表 ?什么是Deleted 表? 
    Inserted表用于存储inserted和update语句影响的副本 Deleted 表用于存储delect 和 update语句影响的行的副本


 

你可能感兴趣的:(oracle,linq,数据库)