SQL 21日自学通(V3.0)(PDF格式)-第92部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
2。 更正下边语句的错误
INPUT:
SQL》 select sysdate DATE
2 from dual;
494
…………………………………………………………Page 495……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
OUTPUT:
select sysdate DATE
*
ERROR at line 1:
ORA…00923: FROM keyword not found where expected
495
…………………………………………………………Page 496……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
第三周回顾
这是多产的一周 在这一周中你看到了 SQL 的灵活性 并向你讲解了如何在现实世界
中应用这些特点 并对一些流行的 SQL 进行了介绍 你应该知道了如何使用解释器中提供
了工具来让你的代码更加易读 在现在为止 你已经知道了所有的 SQL 解释器的一些共有
概念 尽管在语法上它们可能会不同
你也对数据字典有了一个清楚的认识 知道了在它之中存储了些什么 以及如何从它
们中获得有用的数据 如果你知道了如何从 SQL 语句中生成 SQL 语句 那么你的应用能
力将会飞跃到一个新的高度
什么是错误 你不可能避免语法和逻辑上的错误 但是通过在 SQL 中的实际试验 你
将学习到如何避免大多数的错误 而且错误也是一个非常好的学习机会
496
…………………………………………………………Page 497……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
附件 A 在 SQL 中的常见术语
ALTER DATABASE
ALTER DATABASE database_name;
ALTER DATABASE 命令可以改变数据库的设计尺寸 它的语法根据数据库系统的不
同差别很大
ALTER USER
ALTER USER user
ALTER USER 可以改变像密码之类的用户的系统设置
BEGIN TRANSACTION
1》 BEGIN TRANSACTION transaction_name
2》 transaction type
3》 if exists
4》 begin
BEGIN TRANSACTION 语句表明要开始一个用户事务 事务在遇到 MITTED 命
令 参见MIT TRANSACTION 或 CANCLED 参见 ROLLBACK TRANSACTION
时终止 一个事务是一个逻辑上的工作单位 ion is a logical unit of work。
CLOSE CURSOR
close cursor_name
CLOSE cursor_name 语法将关闭游标并清除掉它们中的数据 要想彻底地删除游标
需要使用 DEALLOCATE CURSOR 语句
497
…………………………………………………………Page 498……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
MIT TRANSACTION
SQL》 MIT;
MIT TRANSACTION 语句将保存所有的从一个事务开始以后 也就是自从BEGIN
TRANSACACTION语句运行以后 所做的工作
CREATE DATABASE
SQL》 CREATE DATABASE database_name;
database_name 是要创建的数据库的名字 在创建数据库时有许多不同的如设备等选
项可以应用 并可以对数据库的大小进行初始化
CREATE INDEX
CREATE INDEX index_name ON table_name(column_name1; 'column_name2'; 。。。)
创建索引字段的内容
CREATE PROCEDURE
create procedure procedure_name
''('@parameter_name
datatype '(length) | (precision '; scale')
'= default''output'
'; @parameter_name
datatype '(length) | (precision '; scale')
'= default''output''。。。')''
'with repile'
as SQL_statements
CREATE PROCEDURE 语句可以在数据库中创建一个新的存储过程 这个存储过程可
以由 SQL 语句组成并通过使用 EXECUTE 命令来运行 存储过程支持输入和输出参数并可
以返回一个整数值用以进行状态检测
498
…………………………………………………………Page 499……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
CREATE TABLE
CREATE TABLE table_name
( field1 datatype ' NOT NULL ';
field2 datatype ' NOT NULL ';
field3 datatype ' NOT NULL '。。。)
CREATE TABLE 可以在数据库中创建一个新的表 每一个可选的字段都为数据库提供
了一个确定的字段名和数据类型
CREATE TRIGGER
create trigger trigger_name
on table_name
for {insert; update; delete}
as SQL_Statements
CREATE TRIGGER 语句可以创建一个触发机制 它可以在数据库进行插入 更新和
删除操作时自动执行 它也可以调用存储过程以运行一些复杂的任务
CREATE USER
CREATE USER user
CREATE USER 语句创建一个包括用户名和密码的新用户帐号
CREATE VIEW
CREATE VIEW '(column1; column2。。。)' AS
SELECT
FROM
使用 CREATE VIEW 语句创建视图以后 你就可以使用它来查询数据并对视图内的数
据进行更改
499
…………………………………………………………Page 500……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
DEALLOCATE CURSOR
deallocate cursor cursor_name
DEALLOCATE CURSOR 语句可以彻底地从内存中将游标删除并释放游标的名字使
它可以为其它的游标使用 在释放它之前你应该先使用CLOSE CURSOR命令把游标关闭
DECLARE CURSOR
declare cursor_name cursor
for select_statement
DECLARE CURSOR 语句可以从 SELECT 语句中创建一个新的游标 FETCH语句可以翻阅
游标中的数据直到变量载入 然后游标跳到下一个记录上
DROP DATABASE
DROP DATABASE database_name
DROP DATABASE 语句可以彻底地删除数据库 包括数据库中的数据和它在磁盘上的
物理结构
DROP INDEX
DROP INDEX index_name
DROP INDEX 可以将表的索引删除
DROP PROCEDURE
drop procedure procedure_name
DROP PROCEDURE 语句可以从数据库中删除一个存储过程 它的功能与DROP
TABLE 和DROP INDEX 语句相似
DROP TABLE
DROP TABLE table_name;
DROP TABLE 语句可以从数据库中删除表
500
…………………………………………………………Page 501……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
DROP TRIGGER
DROP TRIGGER trigger_name
DROP TRIGGER 可以从数据库中删除触发机制
DROP VIEW
DROP VIEW view_name;
DROP VIEW 语句可以从数据库中删除视图
EXECUTE
execute '@return_status = '
procedure_name
''@parameter_name =' value |
'@parameter_name =' @variable 'output'。。。''
EXECUTE 命令可以运行一个包含有 SQL 语句的存储过程 在存贮过程中可以输入参
数 如果使用了 output 关键字的话数据还可以从参数中返回
FETCH
fetch cursor_name 'into fetch_target_list'
FETCH 命令可以将游标的内容装填到提供的程序变量中 在变量载入以后 游标就会
跳跃到下一条记录
FROM
FROM '; 。。。'
FROM 指定了联接的是哪一个表
501
…………………………………………………………Page 502……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
GRANT
GRANT role TO user 或 GRANT system_privilege TO {user_name | role | PUBLIC}
GRANT 命令可以给由命令CREATE USER所创建的用户授予规则权限
GROUP BY
GROUP BY '; 。。。'
GROUP BY 语句可以将所以列名相同的行组织在一起
HAVING
HAVING
HAVING 只有在 GROUP BY下有效 它用以限制选择的组要满足指定的搜索条件
INTERSECT
INTERSECT
INTERSECT 返回两个SELECT语句中的所有公共元素
ORDER BY
ORDER BY
ORDER BY 语句可以通过指定列句来对内容进行排序
ROLLBACK TRANSACTION
ROLLBACK TRANSACTION 语句的作用是使一个事务 从BEGIN TRANSACTION语
句运行时起 中的所有工作全部取消
REVOKE
REVOKE role FROM user
502
…………………………………………………………Page 503……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
或 REVOKE {object_priv | ALL 'PRIVILEGES'}
'; {object_priv | ALL 'PRIVILEGES'} ' 。。。
ON 'schema。'object
FROM {user | role | PUBLIC} '; {user | role | PUBLIC}' 。。。
REVOKE 命令将删除一个用户的所有的数据库权限 — — 无论是系统权限还是规则
SELECT
SELECT 'DISTINCT | ALL'
SELECT 语句是每一个获得数据的语句的开始 修正字 DISTINCT 可以指定让它返回
一个重复的数值 ALL 是默认的 返回全部数据
SET TRANSACTION
SQL》 SET TRANSACTION (READ ONLY | USE ROLLBACK SEGMENT);
SET TRANSACTION 可以让用户指定什么时候事务应该开始 READ ONLY 选项会
锁定一组记录集直到事务结束以确保在这一过程中数据没有被改变过
UNION
UNION
UNION 语句会返回两个SELECT语句中的所有元素
WHERE
WHERE
WHERE 语句限制返回的行必须满足指定的条件
*
* 可以代替一个表中的所有的列
503
…………………………………………………………Page 504……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
附件 B 在第 14 天中的 C++源代码清单
// tyssqvw。h : int