新手求指导,关于oracle数据绑定的问题,刚入手数据库,请高手门说得简单清晰一些,谢谢了!原代码如下:
SQL代码:
declare
dep_name department.department_name%type;
begin
    select department_name into dep_name from department where department_id=2;
end;
表:
 
SQL> select * from department;
 
DEPARTMENT_ID DEPARTMENT_NAME      MANGER_ID LOCATION_ID
------------- -------------------- --------- -----------
            2 设计部                         
 
SQL> 
刚入手看到这条select  into 的命令,请指教!

解决方案 »

  1. 我要实现的功能是这样的:
    表:
    id  name
    1    张三
    2    李四
    先定义一个变量dep_name,它的数据类型和的这个表中的name列的数据类型是动态绑定的
    然后在去根据id的值去取这个变量,假如id为1那dep_name的值就是张三
    假如id为2那dep_name的值就是李四
      

  2. 你的ID是怎么得来的? 是通过存储过程还是什么传进来的?
    得先知道ID是怎么获取的,才能取到name。
      

  3. 我事先已经将表创建好了:
    SQL> select * from student;
     
      ID NAME        AGE
    ---- ---------- ----
       1 冯硕         26
     然后我要在去访问这个表,根据id得到名字
      

  4. declare
    dep_NAME  student.NAME %type;
    begin
      select NAME  into  dep_NAME from student where ID =1;
    end;如果id不是唯一的话……
    declare
    dep_NAME  student.NAME %type;
    begin
      select max(NAME)  into  dep_NAME from student where ID =1;
    end;
      

  5. declare
      dep_name  department.department_name%type;
      str_l_sql varchar2(4000);
    begin
      str_l_sql := 'select department_name
                      from department
                     where department_id = :department_id';  execute immediate str_l_sql
        into dep_name
        using 1;
    end;
      

  6. “using 1” 里面的“1”代表的是输入的department_id的值
      

类似问题 »