1、能举例解释下oracle的字面量与绑定变量?
2、什么情况属于SQL语句是动态生成的?
3、什么情况属于实用字面量而不是绑定变量的情况?
谢谢!

解决方案 »

  1.   

    绑定变量是在编译后且在执行过程中才确定的变量,字面量是在编译之前就确定了的
    例如
    select * from emp where deptno=:1   ----:1这就是绑定变量,可以代表任何值
    select * from emp where deptno=10   ----10就是字面量sql语句在ORACLE 分静态sql和动态sql,静态SQL在执行之前就确定了,动态sql在执行的时候才确定
    例如
    select * from emp where deptno=10  ---这就是静态SQL
    --------------------------------------------------
    v_sql:='select * from emp where deptno=:1'
    execute immediate v_sql using 10;----这个就是动态SQL并且使用了绑定变量(这个代码块只是一部分) 动态sql通常都是采用拼接字符串生成的我印象里就是这样的,可能不是很全。但我记得tom的书里有专门介绍绑定变量的使用和动态sql的使用介绍得比较详细,你可以在网上搜下tom的书