Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as scott
SQL> set serveroutput on;
SQL> declare /*定义一个记录类型*/
2 type BookRecord is record(
3 bookNo integer,
4 bookName varchar2(40),
5 isbn varchar2(20),
6 authorName varchar2(20),
7 pressName bookName%type,
8 status char(1),
9 bookPrice float
10 );
11 Book1 BookRecord;/*初始化一个记录变量*/
/*建立一个过程,将记录里面的信息全部输出*/
12 procedure printBookRecord(BookA in BookRecord) is
13 begin
14
15 dbms_output.enable;
16 dbms_output.put('序号:'||BookA.bookNo);
17
18 dbms_output.put('书名:'||BookA.bookName);
19 dbms_output.put('ISBN:'||BookA.isbn);
20 dbms_output.put('作者:'||BookA.authorName);
21 dbms_output.put('出版社:'||BookA.pressName);
22
23 if BookA.status='Y' then
24 dbms_output.put(' 库存情况:目前有货');
25 else
26 dbms_output.put(' 库存情况:目前没货');
27 end if;/*每个if都有一个end if与之相对应*/
28
29 dbms_output.put(' 书价:'||BookA.bookPrice);
30 dbms_output.put_line(' 一条图书信息打印完毕');
31 end printBookRecord;/*过程定义结束也得用end*/
/*为记录变量赋值*/
32 begin
33 Book1.bookNo:=102;
34 Book1.bookName:='爱国者';
35 Book1.isbn:='7-4556-8795-8';
36 Book1.authorName:='小明';
37 Book1.pressName:='高教出版社';
38 Book1.status:='Y';
39 Book1.bookPrice:=50.25;
40 /*调用过程输出记录变量的值*/
41 printBookRecord(Book1);
42 end;
43 /
序号:102书名:爱国者ISBN:7-4556-8795-8作者:小明出版社:高教出版社 库存情况:目前有货 书价:50.25 一条图书信息打印完毕
PL/SQL procedure successfully completed
--the end--