关于Oracle变量的错误

welcomyou 2003-05-01 05:11:03
DECLARE
TYPE ZIP_TYPE IS RECORD(
zip6 VARCHAR(6),
DASH CONSTANT VARCHAR2(1):=’-’,
plus4 VARCHAR2(4):=’0000’);
TYPE ADDR_TYPE IS RECORD(
line1 VARCHAR2(30),
line2 VARCHAR2(30),
city VARCHAR2(20),
state VARCHAR2(2),
zip_code ZIP_TYPE);
TYPE EMPLOYEE_TYPE IS RECORD(
ssn VARCHAR2(9);
DOB DATE;
address ADDR_TYPE);
employee_rec EMPLOYEE_TYPE;
BEGIN
employee_rec.sssn :=’123455678’;
employee_rec.address.city:=’dalian’;
employee_rec.address.zip_code.zip5:=’116023’;
employee_rec.address.zipcode.plus4:=’1114’;

出现如下错误!为什么???

ERROR 位于第 4 行:
ORA-06550: 第 4 行, 第 17 列:
PLS-00103: 出现符号 "VARCHAR2"在需要下列之一时:
:=.(),@%notnullpragma
rangedefaultcharacter
符号 ":=" 被替换为 "VARCHAR2" 后继续。
ORA-06550: 第 4 行, 第 28 列:
PLS-00103: 出现符号 "="在需要下列之一时:
.(),*%&=-+</>atinmodnotpragma
rem<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
符号 ".在 "=" 继续之前已插入。
ORA-06550: 第 13 行, 第 18 列:
PLS-00103: 出现符号 ";"在需要下列之一时:
:=),notnullpragmadefault
character
符号 ")" 被替换为 ";" 后继续。
ORA-06550: 第 15 行, 第 20 列:
PLS-00103: 出现符号 ")"在需要下列之一时:
:=.(@%;notnullrangedefault
character
...全文
46 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
welcomyou 2003-05-02
  • 打赏
  • 举报
回复
改过了不好用!
w_tsinghua 2003-05-02
  • 打赏
  • 举报
回复
你的’-’因该是'-',它因该是西文的单引号,而不是中文的单引号,其他的一样
welcomyou 2003-05-02
  • 打赏
  • 举报
回复
为什么要去掉constant?

:=加空格不好用。
softrookie 2003-05-01
  • 打赏
  • 举报
回复
:= 前后留空格试试
couchman 2003-05-01
  • 打赏
  • 举报
回复
把dash后面的CONSTANT去掉

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧