Oracle SQL查询带变量的问题

cailee 2017-04-15 09:56:48
刚从SQL Server转过来,对oracle一知半解。
请问如下SQL server的写法,oracle如何写?
即先定义变量并赋值之后,查询的sql可以使用该变量。

DECLARE @name varchar(20)
SET @name='张三'

SELECT * FROM TableName WHERE NAME=@name


谢谢
...全文
1470 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
david8501 2017-04-19
  • 打赏
  • 举报
回复
使用declare定义变量
有意1314 2017-04-18
  • 打赏
  • 举报
回复
DECLARE V_NAME EMP.name%TYPE := '张三'; SQL_STMT VARCHAR2(300); BEGIN SQL_STMT := 'SELECT * FROM tableName WHERE name=:1'; EXECUTE IMMEDIATE SQL_STMT USING V_NAME; END;
壹四 2017-04-18
  • 打赏
  • 举报
回复
引用 1 楼 w67995822 的回复:

declare
v_name varchar2(20) := '张三';
begin
select * from tablename where name = v_name;
end;
 
额。。。不好意思oracle的块中是不能用select的。。只能用select into 或者动态语句,你可以查询之后into一个记录类型,然后输出记录数据。
qq_28538637 2017-04-18
  • 打赏
  • 举报
回复
DECLARE
  sql_stmt  VARCHAR2(200);
  emp_id    NUMBER(4) := 1001;
  salary    NUMBER(7, 2);
  dept_id   NUMBER(2) := 6;
  dept_name VARCHAR2(13) := '部门1';
  locations VARCHAR2(13) := '地址1';
  emp_rec   scott%ROWTYPE;
BEGIN
  EXECUTE IMMEDIATE 'CREATE TABLE bonus4(id NUMBER,amt NUMBER)';
  sql_stmt := 'INSERT INTO dept VALUES (:1,:2,:3)';
  EXECUTE IMMEDIATE sql_stmt
    USING dept_id, dept_name,locations;
  sql_stmt := 'SELECT * FROM  scott where empno= :id';
  EXECUTE IMMEDIATE sql_stmt  INTO emp_rec
    USING emp_id;
  sql_stmt := 'UPDATE scott SET sal= 2000 WHERE empno=:1
     RETURN  sal INTO :2';
  EXECUTE IMMEDIATE sql_stmt USING emp_id RETURNING INTO salary;

  EXECUTE IMMEDIATE 'DELETE FROM dept WHERE deptno =:num'
    USING dept_id;

END;
qq_28538637 2017-04-18
  • 打赏
  • 举报
回复
DECLARE
 a  number :=10;
BEGIN
  dbms_output.put_line(a+10);
END;
雨巷啊 2017-04-17
  • 打赏
  • 举报
回复
DECLARE V_NAME EMP.name%TYPE := '张三'; SQL_STMT VARCHAR2(300); BEGIN SQL_STMT := 'SELECT * FROM tableName WHERE name=:1'; EXECUTE IMMEDIATE SQL_STMT USING V_NAME; END;
壹四 2017-04-15
  • 打赏
  • 举报
回复

declare
v_name varchar2(20) := '张三';
begin
select * from tablename where name = v_name;
end;
 

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧