sql - Oracle中如何选择一个变量的值?

标签 sql oracle select select-into

我是 Oracle 的新手。如何设置此变量并显示其值?

declare nextId number;
begin  
        select HIBERNATE_SEQUENCE.nextval into nextId from dual;      
        select nextId from dual;
end;

它提示在这个 SELECT 语句中需要一个 INTO 子句。

最佳答案

如果您只想知道序列的下一个或当前值,
你可以简单地使用 sql 查询:

SELECT HIBERNATE_SEQUENCE.nextval FROM dual;
SELECT HIBERNATE_SEQUENCE.currval FROM dual;

要知道如何在 pl/sql 中进行(在 11g 之前):
SET SERVEROUTPUT ON
DECLARE
     nextId NUMBER;
BEGIN
     SELECT HIBERNATE_SEQUENCE.nextval INTO nextId FROM dual;
     dbms_output.put_line(nextId);
END;

从 11g 开始:在 plsql 中使用更简化的序列为:
SET serveroutput ON
DECLARE
     nextId NUMBER := HIBERNATE_SEQUENCE.nextval;
BEGIN
     dbms_output.put_line(nextId);
END;

或者干脆
BEGIN
     dbms_output.put_line(HIBERNATE_SEQUENCE.nextval);
END;

更多详情:Click here

关于sql - Oracle中如何选择一个变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18977634/

相关文章:

sql - 列中的唯一值,但仅对每个关联的外键唯一

以更有效的方式使用 SELECT IN SELECT 进行 mysql 查询

mysql - SQL 多连接整理

mysql select 查询不适用于通过用户变量设置的限制和偏移量

mysql - JOIN 或 LEFT JOIN 是否持续检查 SELECT 查询?

SQL Server : +(unary) operator on non-numeric Strings

c# - 仅当上下文使用关系数据库提供程序时才能使用特定于关系的方法?

php - 'c :/wamp64/bin/php/php7. 0.10/ext/php_oci8_12c.dll' - %1 不是有效的 win32 应用程序

SQL:是否可以根据 'group by'函数的结果来 'like'?

php - 两个表和按列排序不在两个表中