Oracle中绑定变量的使用
1.SqlPlus中的用法
SQL> var x number;
SQL> exec :x := 7369;
PL/SQL procedure successfully completed.
SQL> select * from scott.emp where empno=:x;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7369 SMITH CLERK 7902 17-DEC-80 800 20
2.PL SQL中的用法
DECLARE
V_ENAME VARCHAR2 (10);
BEGIN
EXECUTE IMMEDIATE 'SELECT ENAME FROM SCOTT.EMP WHERE EMPNO = :1'
INTO V_ENAME
USING 7369;
DBMS_OUTPUT.PUT_LINE (V_ENAME);
END;
DECLARE
V_SQL01 VARCHAR2 (4000);
V_SQL02 VARCHAR2 (4000);
V_COUNT01 NUMBER;
V_COUNT02 NUMBER;
BEGIN
V_SQL01 := 'INSERT INTO MONKEY.TEST02 VALUES (:1,:2,:3)';
EXECUTE IMMEDIATE V_SQL01 USING 3, SYSDATE, 'CC';
V_COUNT01 := SQL%ROWCOUNT;
V_SQL01 := 'INSERT INTO MONKEY.TEST02 VALUES (:1,:1,:1)';
EXECUTE IMMEDIATE V_SQL01 USING 4, SYSDATE, 'DD';
V_COUNT02 := SQL%ROWCOUNT;
DBMS_OUTPUT.PUT_LINE (V_COUNT01 + V_COUNT02);
COMMIT;
END;
DECLARE
V_SQL VARCHAR2 (4000);
V_COL VARCHAR2 (50);
V_ENAME VARCHAR2 (50);
BEGIN
V_COL := 'EMPNO';
V_SQL :=
'DELETE FROM SCOTT.EMP WHERE '
|| V_COL
|| '=:1 RETURNING ENAME INTO :2';
EXECUTE IMMEDIATE V_SQL USING 7369 RETURNING INTO V_ENAME;
DBMS_OUTPUT.PUT_LINE (V_ENAME);
END;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现