作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将一个序列值分配给一个变量,以便在序列值增加后稍后使用。我已经尝试过了,但它给出了一个错误:
variable imageID number;
select SEQ_IMAGE_ID.CURRVAL into :imageID from dual;
select * from IMAGES where IMAGE_ID = :imageID;
Error starting at line 2 in command:
select SEQ_IMAGE_ID.CURRVAL into :imageID from dual
Error report:
SQL Error: ORA-01006: bind variable does not exist
01006. 00000 - "bind variable does not exist"
最佳答案
您似乎在 SQL*Plus 或 SQL Developer 中执行此操作,来自 variable
宣言。您需要在 PL/SQL block 中进行赋值,或者使用显式 begin
/end
或使用 exec
调用隐藏:
variable imageID number;
exec select SEQ_IMAGE_ID.CURRVAL into :imageID from dual;
select * from IMAGES where IMAGE_ID = :imageID;
select
,您可以分配:
variable imageID number;
exec :image_id := SEQ_IMAGE_ID.CURRVAL;
select * from IMAGES where IMAGE_ID = :imageID;
column tmp_imageid new_value image_id;
select SEQ_IMAGE_ID.CURRVAL as tmp_imageID from dual;
select * from IMAGES where IMAGE_ID = &imageID;
:
的变化表示绑定(bind)变量,到
&
表示替换变量。
关于sql - 如何将序列值分配给变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092430/
我是一名优秀的程序员,十分优秀!