请问:oracle中怎么在select中使用变量
请教:oracle中如何在select中使用变量定义变量给变量赋值select * from 表where 字段变量上面的SQL语
请教:oracle中如何在select中使用变量
定义变量;
给变量赋值;
select * from 表where 字段=变量;
上面的SQL语句在SQL Server中使用是非常简单的, 但小弟初学oracle, 不明白oracle如何处理, 请各位大侠指点!
[解决办法]
动态SQL
[解决办法]v_sql:='select * from 表where 字段='
[解决办法]var1
[解决办法]'';
[解决办法]这只是举例,前面肯定要有自定义判断啊
[解决办法]
象这样接接SQL语句, 难道就不怕SQL注入?
这只是举例,前面肯定要有自定义判断啊
搞这么复杂, 就没有一个简单一点类似sql server的做法吗?
还有这种动态变量绑定
execute immediate 'select * from table where col=:1' using var1;
[解决办法]我不知道sqlserver怎么做的,但我觉得任何关系到用户输入的都应该先有特定的判断筛选,
这都嫌复杂就太不专业了
[解决办法]
我目前的SQL是:
select * from dxjxt.jxtudprecv_view mt where CARDID='EE9935F5'
如你所说, 用动态变量绑定的话, 如何把具体值给换成变量呢?
var varchar2(20);
execute immediate 'select * from dxjxt.jxtudprecv_view mt where CARDID=:1' into xxx(接收你的查询结果) using var1;
[解决办法]
declare
v_card_id varchar2(40);--定义变量;
v_cur sys_refcursor;
begin
v_card_id := 'EE9935F5'; --给变量赋值;
open v_cur for select * from 表 where 字段=v_card_id;