代码是摘抄别人的:
//
create table pet(
  pet_id number primary key,--宠物ID--
  pet_name varchar2(20) not null,--宠物姓名--
  pet_sex varchar2(4) not null,--宠物性别--
  pet_age number not null,--宠物年龄--
  pet_health varchar(20) not null,--宠物健康状态--
  pet_type number not null,--宠物类型--
  pet_price number not null,--宠物价格--
  pet_ownerId number not null,--宠物主人ID--
  pet_status number not null--0表示未出售,1表示已经出售状态,2表示培育阶段--
  
);
输出结果:
SQL> @d:\myweb\emp
SP2-0734: 未知的命令开头 "锘縞reate ..." - 忽略了剩余的行。
SP2-0734: 未知的命令开头 "pet_id num..." - 忽略了剩余的行。
SP2-0042: 未知命令 ")" - 其余行忽略。
SQL>
请问这是怎么回事?

解决方案 »

  1.   


    SQL> create table pet(
      2    pet_id number primary key,--宠物ID--
      3    pet_name varchar2(20) not null,--宠物姓名--
      4    pet_sex varchar2(4) not null,--宠物性别--
      5    pet_age number not null,--宠物年龄--
      6    pet_health varchar(20) not null,--宠物健康状态--
      7    pet_type number not null,--宠物类型--
      8    pet_price number not null,--宠物价格--
      9    pet_ownerId number not null,--宠物主人ID--
     10    pet_status number not null--0表示未出售,1表示已经出售状态,2表示培育阶段--
     11  );表已创建。
    把你最后一行的内容清空了就可以了,你是后一行有中文字符
      

  2.   

    好奇怪,我直接输的话可以创建成功,但那时保存到.sql文件里引用的话就失败了??诡异啊
      

  3.   


    SQL> @d:test
      1  create table pet(
      2    pet_id number primary key,--宠物ID--
      3    pet_name varchar2(20) not null,--宠物姓名--
      4    pet_sex varchar2(4) not null,--宠物性别--
      5    pet_age number not null,--宠物年龄--
      6    pet_health varchar(20) not null,--宠物健康状态--
      7    pet_type number not null,--宠物类型--
      8    pet_price number not null,--宠物价格--
      9    pet_ownerId number not null,--宠物主人ID--
     10*   pet_status number not null--0表示未出售,1表示已经出售状态,2表示培育阶段--
      pet_status number not null--0表示未出售,1表示已经出售状态,2表示培育阶段--
                                                                              *
    第 10 行出现错误: 
    ORA-00907: 缺失右括号 把最后一行去掉后SQL> @d:test.sql表已创建。SQL> select * from pet;未选定行