DECLARE
v_deptno dept.deptno%TYPE
v_dname dept.dname%TYPE
BEGIN
v_deptno := &no;
v_dname := '&name';
INSERT INTO dept (deptno, dname)
VALUE (v_deptno, v_dname);
END;请问:
1.v_dname dept.dname%TYPE 中的%TYPE是什么意思?
2.v_dname := '&name'; 中为什么&name要用''给括起来?谢谢大家,请帮我解答一下,thanks!

解决方案 »

  1.   

    hdyd() :谢谢兄弟
    这就是完整的例子,书上只是为了说明用insert语句举了这么个简短的小例子
    请你帮忙看看我的理解对不对啊,如果加''的话就是字符串类型,不加就是数字类型,是这样的吗
      

  2.   

    %TYPE  表示和%前面的对象的类型一样  v_deptno dept.deptno%TYPE 就意味着v_deptno和dept表中deptno定义的类型一样&表示从屏幕接收值, 相当于c中的scanf
      

  3.   

    VALUE (v_deptno, v_dname);
    我怎么记得是values(v_deptno, v_dname)
    难道我错了?
      

  4.   

    DragonBill(用户中文昵称------静观其变,以静制动):说得很细致,谢谢你!这个问题还不是很清楚v_deptno := &no;
    v_dname := '&name';输入的时候&xx与'&xx'有什么区别呢?
    用''与不用''有什么不一样的地方呢?
      

  5.   

    _deptno := &no;
    v_dname := '&name';输入的时候&xx与'&xx'有什么区别呢?
    用''与不用''有什么不一样的地方呢?&no是临时变量,在执行的时候,需要用户输入具体值的。
    用''就是写死了。数据库中存储的就是'&name'
      

  6.   

    说错了,应该是用了'' 后,执行的时候,你name例如就输入 张三  就可以了。否则你要输入 '张三'
      

  7.   

    morris_lz(岁数大了,哎~~~~~) ( ) 信誉:100    Blog   加为好友  2007-05-30 15:20:19  得分: 0  
     
     
       DragonBill(用户中文昵称------静观其变,以静制动):说得很细致,谢谢你!这个问题还不是很清楚v_deptno := &no;
    v_dname := '&name';输入的时候&xx与'&xx'有什么区别呢?
    用''与不用''有什么不一样的地方呢?
      
     
    用'',将&name的值当作字符串
    不用'',将&name当作一个object你可以在SQL*PLUS中用
    SELECT &name FROM DUAL;

    SELECT '&name' FROM DUAL;
    两个语句体会一下