gpt4 book ai didi

Oracle 存储过程 - 我可以为声明 block 中的变量赋值吗?

转载 作者:行者123 更新时间:2023-12-02 15:35:27 25 4
gpt4 key购买 nike

我正在用 oracle 编写一个存储过程,我想从一开始就为变量赋值:

CREATE PROCEDURE proc
(
param1
, param2
)
AS
variable1 INT AS SELECT MAX(value) FROM table WHERE field = param1;
BEGIN
...

是否允许或我应该在可执行 block 中执行?

最佳答案

Oracle 像这样将查询值赋给变量...

SELECT MAX(value) INTO variable1 FROM table WHERE field = param1;

... 因为是这样,所以您无法在声明 block 中将变量初始化为查询值。它必须在执行和/或异常 block 中:

CREATE PROCEDURE proc
(
param1; -- don't forget the data type here!
, param2; -- or here!
)
AS
variable1 INT;
BEGIN
SELECT MAX(value) INTO variable1 FROM table WHERE field = param1;
...

关于Oracle 存储过程 - 我可以为声明 block 中的变量赋值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18513125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com