怎么定义 new areas 和 t_busno_class_base.classcode
时间: 2024-02-24 10:57:18 浏览: 71
城市公交系统数据库设计.doc
5星 · 资源好评率100%
new areas 是无法定义的,因为 new 关键字只能用于在 PL/SQL 块内部声明变量并赋值,而不能用于定义类型或参数。
t_busno_class_base.classcode 则需要在存储过程中进行定义,具体方法如下:
1. 在存储过程前面添加以下语句定义一个表类型:
```
CREATE TYPE t_busno_class_base_type AS TABLE OF VARCHAR2(100);
```
2. 在存储过程参数列表中添加一个名为 classcodes 的类型为 t_busno_class_base_type 的参数:
```
create or replace procedure tr_d_region_wage_storenum(areas IN d_region_wage.areas%TYPE, store_num OUT d_region_wage.store_num%TYPE, classcodes IN t_busno_class_base_type) as
```
3. 在存储过程中使用 classcodes 变量替换原来的 t_busno_class_base.classcode:
```
IF areas MEMBER OF classcodes THEN
```
这样就可以在存储过程中使用传入的 classcodes 参数了。请注意,修改存储过程参数后,需要重新编译存储过程才能生效。
阅读全文