在sqlplus 中
fuyou@ORCL> variable n number;
fuyou@ORCL> exec:n:=4;PL/SQL 过程已成功完成。fuyou@ORCL> print n;         N
----------
         4上面的意思:定义变量 n 给变量n 赋值,输出变量值另一过程语法  declare  n number ;
            begin n:=3;
不明白的地方::n:=4  :n表示什么意思  我知道:=是赋值  难道:变量  就是绑定变量的意思吗,绑定的后面的名字是不是要跟前面的所定义的变量名一样
上面二个有什么不同吗,问得是语法层面的

解决方案 »

  1.   

    例如:表t(col1 varchar2(10),col2 varchar2(10));
    执行下面的动态执行:
    execute immediate 'insert into t(col1,col2)values(:1,:2)' using 'content_1','content_2';--:1,:2,只是个占位符的作用,你可以修改成:xx,:yy效果是一样的。
      

  2.   

    exec:n:=4;
    给变量N赋值啊,ORACLE的赋值语句 是 :=相当于其他语言里的=
      

  3.   

    我在PL/SQL怎么没办法利用呢?
    print n--在ORACLE可以使用吗
      

  4.   

    sqlplus 中特有的绑定变量,其作用域为整个会话。在 SQLPLUS 中,绑定变量用 variable 声明,可以 PLSQL 块或 SQL 语句中引用(变量名前需要加 : )。
      

  5.   

    说到本质了
    那在pl/sql 里可以这样吗 declare n number 
                          begin :n:=4
    这样合法吗
      

  6.   

    我在sqlplus 用,不知道能不能在pl/sql用
      

  7.   

    不合法。
    print n;--应该只能够在sqlplus中使用,不能够在pl/sql中使用。