《SQL 21日自学通(V3.0)(PDF格式)》第168章


的表作了很好的备份 对不对 对 这样最安全 
17 什么是 ED 命令 
ED 命令是一个全屏幕的编辑器 所 UNIX 的 VI 或 WINDOWS 下的记事本类似 
18 SPOLL OFF 命令是做什么的 
关闭一个假脱机文件 
练习答案 
3 使用 SYS。DBA_USERS 视图 在 PERSONAL ORACLE 7 中 写一个语句来生成一 
系列 GRANT 语句为下边的五个用户 John Kevin Ryan Ron 和 Chris 授权 使 
他们可以访问 History_tbl 表 在写语句时对应的用户名用 USERNAME 来代替 
SQL》 SET ECHO OFF 
SQL》 SET FEEDBACK OFF 
SQL》 SPOOL GRANTS。SQL 
SQL》 SELECT "GRANT SELECT ON HISTORY_TBL TO " || USERNAME || ";" 
2 FROM SYS。DBA_USERS 
3 WHERE USERNAME IN ("JOHN";"KEVIN";"RYAN";"RON";"CHRIS") 
4 / 
grant select on history_tbl to JOHN; 
grant select on history_tbl to KEVIN; 
grant select on history_tbl to RYAN; 
grant select on history_tbl to RON; 
grant select on history_tbl to CHRIS; 
4 用本章给出的例子作指引 写一些 SQL 来创建一些可以生成你能使用的 SQL 语句 
自己做 
警告 除非你已经彻底地明白了本章的概念 否则一定要注意生成 SQL 语句可能会修改数 
据或数据库的结构 
562 
…………………………………………………………Page 563……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
第 18 天 PL/SQL 简介 
问题答案 
8 如何在数据库中使用触发机制 
数据库的触发机制可以在指定表中的数据发生变化时进行执行一些特定的操作 例 
如 如果你改变了一个表 那么触发机制可以将被改变的数据存入历史记录表中以备 
后查 
9 是否可以将相关的过程存储在一起 
相关的过程可以存储在包中 
10 可以在 PL/SQL 中使用数据操作语言 对不对 对 
11 可以在 PL/SQL 中使用数据定义语言 对不对 
不对 DDL 不能在 PL/SQL 中使用 用自动的方法来改变数据库的结构不是好主意 
12 在 PL/SQL 的语法中是否支持直接的文本输出 
它不被 PL/SQL 所直接支持 但是 它可以通过标准的包 DBMS_OUTPUT 来输出 
13 给出 PL/SQL 语句块的三个主要部分 
DELCARE 部分 PROCEDURE 部分 EXCEPTION 部分 
14 请给出与游标控制相关的命令 
DECLARE OPEN FETCH CLOSE 
练习答案 
5 请定义一个变量 使它可以接受的最大数值为 99。99 
DECLARE 
HourlyPay number(4;2); 
6 请定义一个指针 它的内容包括 CUSTOMER_TABLE 表中的所有 CITY 为 
INDIANAPOLIS 的客户 
DECLARE 
cursor c1 is 
select * from customer_table 
where city = "INDIANAPOLIS"; 
563 
…………………………………………………………Page 564……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
7 定义一个名字为 UnknownCode 的异常 
DECLARE 
UnknownCode EXCEPTION; 
8 请写一个语句 使得在 AMOUNT_TABLE 中的AMT 当 CODE 为 A 时其值为 10 
当 CODE 为 B 时其值为 20 当 CODE 既不是 A 也不是 B 时激活一个名字叫 
UnknownCode 的异常 表中的内容只有一行 
IF ( CODE = "A" ) THEN 
update AMOUNT_TABLE 
set AMT = 10; 
ELSIF ( CODE = "B" ) THEN 
update AMOUNT_TABLE 
set AMT = 20; 
ELSE 
raise UnknownCode; 
END IF; 
第 19 天 TRANSACT…SQL 简介 
问题答案 
问 在 ORACLE 的 PL/SQL 中与在 TRANSACT…SQL 中 SQL 字的使用方法与 ANSI 标准 
的 SQL 是完全相同的 对不对 
答 不对 这些关键字不受版权的保护 产品在许多内容上都与 ANSI 标准一致 但不是 
每样东西都一致 
问 静态的 SQL 比动态的 SQL 灵活性差 尽管它的性能要比动态的好 对不对 
答 对 静态的 SQL 需要进行预编译 而不是动态编译 所以它的灵活性不如动态 SQL 
但是由于查询已经被处理过 所以它的性能要更好些 
练习答案 
3 如果你没有使用 SYBASE 或 MICROSOFT 的 SQL SERVER 那么请你比较一个你的产 
品对 SQL 的扩展与今天所讲的有何不同 
由于今天所讲的几乎全是 TRANSACT…SQL 我们并没有对 ANSI 标准的其它扩展进行 
564 
…………………………………………………………Page 565……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
探讨 大多数的数据库随机文档都标明了它所提供了对 SQL 的有效的扩展 这些扩展在其 
它数据库中使用是不同的 
4 写一组 SQL 语句 它可以对一些已知的条件进行检测 如果条件为真 执行一些操作 
否则的话执行另一些操作 
该操作需要使用 IF 语句 具有的逻辑结构今天已经讨论过了 
第 20 天 SQL*PLUS 
问题答案 
7 哪些命令可以改变你的 SQL 会话的性能 
SET 命令可以改变你的会话设置 
8 你可以在 SQL 的脚本中提示用户输入参数并根据输入的参数运行吗 
可以 你的脚本能从用户输入接受参数并把它赋给变量 
9 如果你对 CUSTOMERS 表创建了一个汇总报表 你如何在你的报表中对你的数据进行 
分组 
你可能会依据客户进行分组 因为你的数据是从客户表中选择的 
10 你在使用 LOGIN。SQL 文件时有哪些限制 
它的限制就是你输入到其中的内容必
小说推荐
返回首页返回目录