绑定变量是在编译后且在执行过程中才确定的变量,字面量是在编译之前就确定了的 例如 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的书
例如
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的书