去掉单引号...
begin  
insert  into  stubasemess(lab_no,  stu_no,s_name,class_no)  
values(v_lab_no,v_stu_no,v_s_name,v_class_no);  
commit  work;  
end;  
/

解决方案 »

  1.   

    去掉之后运行是这样的错误
    SQL> start input.sql
    Please input the lab_no:a0101020101
    please input the stu_no:0101020101
    please input the s_name:马磊
    please input the class_no:0001
    原值    2: v_lab_no stubasemess.lab_no%type:=&lab_no;
    新值    2: v_lab_no stubasemess.lab_no%type:=a0101020101;
    原值    3: v_stu_no stubasemess.stu_no%type:=&stu_no;
    新值    3: v_stu_no stubasemess.stu_no%type:=0101020101;
    原值    4: v_s_name stubasemess.s_name%type:=&s_name;
    新值    4: v_s_name stubasemess.s_name%type:=马磊;
    原值    5: v_class_no stubasemess.class_no%type:=&class_no;
    新值    5: v_class_no stubasemess.class_no%type:=0001;
    v_lab_no stubasemess.lab_no%type:=a0101020101;ERROR 位于第 2 行:
    ORA-06550: 第 2 行, 第 35 列:
    PLS-00201: 必须说明标识符 'A0101020101'
    ORA-06550: 第 2 行, 第 10 列:
    PL/SQL: Item ignored
    ORA-06550: 第 4 行, 第 36 列:
    PLS-00201: 必须说明标识符 '马磊'
    ORA-06550: 第 4 行, 第 10 列:
    PL/SQL: Item ignored
    ORA-06550: 第 8 行, 第 26 列:
    PLS-00320: 此表达式的类型说明不完整或格式不正确
    ORA-06550: 第 8 行, 第 26 列:
    PLS-00320: 此表达式的类型说明不完整或格式不正确
    ORA-06550: 第 8 行, 第 26 列:
    PL/SQL: ORA-00904: "V_S_NAME": 无效的标识符
    ORA-06550: 第 7 行, 第 1 列:
    PL/SQL: SQL Statement ignored
      

  2.   

    哦 真是粗细大意,输入时候的:Please input the lab_no:'a0101020101'
    please input the stu_no:'0101020101'
    please input the s_name:'马磊'
    please input the class_no:0001
    谢谢各位了~
      

  3.   

    这样也可以吧
    insert into stubasemess(lab_no, stu_no,s_name,class_no)
    values(':v_lab_no',':v_stu_no',':v_s_name',:v_class_no);
      

  4.   

    问一句
    please input the class_no:0001这一句里的0001在查询出来显示是1 怎么让它显示成0001呢?
      

  5.   

    select lpad(class_no,4,'0') from stubasemess;