oraclePLSQL语法详细手册

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oraclePLSQL语法详细手册
oraclePLSQL语法详细手册
一、CREATE TABLE 语句 (3)
二、CREATE SEQUENCE 语句 (5)
三、CREATE VIEW 语句 (6)
四、INSERT语句: (7)
五、UPDATE语句: (9)
六、DELETE语句: (10)
七、TRUNCATE语句: (II)
八、各类FUNCTIONS: (12)
1.转换函数: (12)
2.日期函数. (16)
3.字符函数. (20)
4.数值函数. (28)
5.单行函数: (33)
6.多行?函数. (35)
第二部分PL/SQL语法部分 (41)
一、PL/SQL语言简介 (41)
二、变量讲明 (48)
三、PL/SQL操纵程序流 (52)
四、储备过程 (54)
五、储备函数 (54)
六、PACKAGE (54)
七、触发器 (56)
八、应用实例 (58)
Create table 语句
语句:CREATE TABLE [schema. Jtable_name
({ column datatype 'DEFAULT expr^ [co1umn_constraint J I
table_constraint}
[,{ column datatype [DEFAULT expr^ [co1umn_constra i nt J
I table_constraint} ]...)
[[PCTFREE integer] [PCTUSED integer]
[INITRANS integer] [MAXTRANS integer]
[TABLESPACE tablespace]
[STORAGE storage_clause]
[RECOVERABLE I UNRECOVERABLE ]
[PARALLEL ( [ DEGREE { integer I DEFAULT }]
[INSTANCES { integer I DEFAULT }]
)
I NOPARALLEL ]
[CACHE I NOCACHE ]
I [CLUSTER cluster (column [, columrf...)]]
[ENABLE enable_clause
I DISABLE disable_clause ]...
[AS subquery
表是Oracle中最重要的数据库对象,表储备一些相似的数据集合,这些数据描述成若干列或字段.create table语句的差不多形式用来在数据库中创建容纳数据行的表.create table语句的简单形式接收表名,列名,列数据类型和大小.除了列名和描述外,还能够指定约束条件,储备参数和该表是否是个cluster的一部分.
Schema用来指定所建表的owner,如不指定则为当前登录的用户.
Table_name用来指定所创建的表名,最长为30个字符,但不能够数字开头(可为下划线),但不可同其它对象或Oracle的保留字冲突.
Column用来指定表中的列名,最多254个.
Datatype用来指定列中储备什么类型的数据,并保证只有有效的数据才能够输入. co 1 umn_constraint用来指定列约束,如某一列不可为空,则可指定为not null.
table_constraint用来指定表约束,如表的主键,外键等.
Pct free用来指定表中数据增长而在Oracle块中预留的空间.DEFAULT为10%,也确实是讲该表的每个块只能使用90%, 10%给数据行的增大时使用.
Pctused用来指定一个水平线,当块中使用的空间低于该水平线时才能够向该中加入新数据行.
Parallel用来指定为加速该表的全表扫描能够使用的并行查询进程个数.
Cache用来指定该表为最应该缓存在SGA数据库缓冲池中的候选项.
Cluster用来指定该表所储备的cluster.
Tablespace用来指定用数据库的那个分区来储备该表的数据.
Recoverable|Unrecoverable用来决定是否把对本表数据所作的变动写入Redo文件.以复原对
数据的操作.
As当不指定表的各列时,可利用As子句的查询结果来产生数据库结构和数据.
例:
1) create table mytable(mydec decimal,
myint inteter)
tablespace user_data pctfree 5
pctused 30;
2) create table mytable2
as ( select * from mytablel);
create sequence 语句
语句: CREATE SEQUENCE [schema. ]sequence_naine
[INCREMENT BY integer]
[START WITH integer]
[MAXVALUE integer I NOMAXVALUE]
[MINVALUE integer I NOMINVALUE]
[CYCLE I NOCYCLE]
[CACHE integer I NOCACHE]
[ORDER I NOORDER] 序列用来为表的主键生成唯独的序列值.
Increment by指定序列值每次增长的值Maxvalue指定产生的序列的最大值Minvalue指定产生的序列的最小值Cycle指定当序列值逵到最大或最小值时,该序列是否循环. Cache指定序列生成器一次缓存的值的个数
Order指定序列中的数值是否按访咨询顺序排序.
例:
1)create sequence niyseq
increment by 4 start with 50 maxvalue 60 minvalue 50
cycle cache 3;
2)
sql> create sequence new_s;
sql>insert into new (new_id, last_name, first_name) values(new_s.
nextval, 'daur*', 'peimit');
create view 语句
语句:CREATE [OR REPLACE] [FORCE I NOFORCE] VIEW [schema. ]view_name
[(alias [,alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
视图实际上是储备在数据库上旳select语句.每次在sql语句中使用视图时, 表示该视图的select语句就用来得到需要的数据.
Or replace创建视图时假如视图已存在,有此选项,新视图会覆盖旧的视图.
Force如有此选项,当视图基于的表不存在或在该模式中没有创建视图的权限时,也能够建立视图.
As subquery产生视图的select査询语句
With check option假如视图是基于单表的且表中所有的非空列都
包含在视图中时,该视图可用于insert和update语句中,本选项保证在每次插入或更新数据后,该数据能够在视图中查到
例:
1) create or place view new_v
as
select substr(d. d_last_nanie, 1, 3),
d. d_lastname, d. d_firstname, b. b_start_date, b. b_location from
newl d,
new2 b
where d. d_lastname=b. b_lastname;
四、INSERT语句:
1.语法
INSERT INTO [schema. ]{table I view | subquery }[gdblinkj
[(column [, column] ...)]
{VALUES (expr [, exprj ...) I subquery}
[WHERE condition]
2.插入单行
使用VALUES关键词为新行的每一列指定一个值.假如不明口某列的值,能够使用NULL关键词将其值设为空值(两个连续的逗号也能够表示空值,也可使用NULL关键词)
插入一行时试图为那些NOT NULL的列提供一个NULL值,会返回错误信息.
举例:
插入一条记录到DEPARTMENT表中
INSERT INTO DEPARTMENT
(DEPARTMENT.ID, NAME, LOCATION_ID)
VALUES (01,'COMPUTER', 167)
3.插入多行
将SELECT语句检索出来的所有数据行都插入到表中.这条语句通
常在从一个表向另一个表快速复制数据行.
举例:
INSERT INTO OR1)ER_TEMP
SELECT A. OR1)ER_I1), B. ITEM,ID, C. NAME, E. FIRST_NAME| I* / 11E. LAST_NAME,
A.ORDER_DATE, A. SHIP_DATE, I). DESCRIPTION,
B. ACTUAL_PRICE,
B.QUANTITY, B. TOTAL
FROM SALES_ORI)ER A, ITEM B, CUSTOMER C,
PRODUCT 1), EMPLOYEE E
WHERE MONTHS_BETWEEN(TO_DATE(A. ORI)ER_DATE), TO_DATE(J 01-7 月-91’ ))>0
AND A. CUSTOMER.11)=C. CUSTOMER」】)
AND C. SALESPERSON. I D=E. EMPLOYEE_I1)
AND A. OR1)ER_ I I)=B. OR1)ER_ 11)
AND B. PRODUCT 11)=D. PRODUCT ID。

相关文档
最新文档