如果希望查询只返回一行,可以使用SELECT INTO语句存储该行的值到一个或多个变
量中或到一个记录变量中;如果返回可能是多行,而你只关心第n行,则可以使用where
ROWNUM 来限制结果集。
DROP TABLE IF EXISTS t;
DROP TABLE IF EXISTS tb;
CREATE TABLE t(id INT, name VARCHAR(20));
CREATE TABLE tb(id INT, name VARCHAR(20));
INSERT INTO t VALUES(1, 'a');
INSERT INTO t VALUES(2, 'b');
CREATE OR REPLACE PROCEDURE P AS
b1 INT;
BEGIN
SELECT ID INTO b1 FROM T WHERE ID=2;
INSERT INTO TB VALUES(b1,'S');
end;