关于oracle动态数据绑定的问题?

fengshuo850420 2012-03-08 09:21:03
新手求指导,关于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 的命令,请指教!
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xpingping 2012-03-08
  • 打赏
  • 举报
回复
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;
fengshuo850420 2012-03-08
  • 打赏
  • 举报
回复
我事先已经将表创建好了:
SQL> select * from student;

ID NAME AGE
---- ---------- ----
1 冯硕 26


然后我要在去访问这个表,根据id得到名字
yixilan 2012-03-08
  • 打赏
  • 举报
回复
你的ID是怎么得来的? 是通过存储过程还是什么传进来的?
得先知道ID是怎么获取的,才能取到name。
fengshuo850420 2012-03-08
  • 打赏
  • 举报
回复
我要实现的功能是这样的:
表:
id name
1 张三
2 李四
先定义一个变量dep_name,它的数据类型和的这个表中的name列的数据类型是动态绑定的
然后在去根据id的值去取这个变量,假如id为1那dep_name的值就是张三
假如id为2那dep_name的值就是李四
andyguan01_2 2012-03-08
  • 打赏
  • 举报
回复
“using 1” 里面的“1”代表的是输入的department_id的值
andyguan01_2 2012-03-08
  • 打赏
  • 举报
回复
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;
sxq129601 2012-03-08
  • 打赏
  • 举报
回复
这不是数据绑定吧,这是过程语法。。

17,377

社区成员

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

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