gpt4 book ai didi

database - PL/SQL 用表中的数据填充对象

转载 作者:搜寻专家 更新时间:2023-10-30 21:58:38 24 4
gpt4 key购买 nike

我在 pl/sql 中创建了自定义对象。我想要做的是创建从表中传递 id 的对象,并用一行中的数据填充对象属性(由此 id 指定)。这个怎么做?我在 oracle 10g 中工作。

我的类型看起来像这样:

CREATE OR REPLACE TYPE userType AS OBJECT(
id number,
name varchar2(100),
nickname varchar2(100),
email varchar2(100),
CONSTRUCTOR FUNCTION userType(userId number) RETURN SELF AS RESULT
);

类型主体声明:

CREATE OR REPLACE TYPE BODY userType AS
CONSTRUCTOR FUNCTION userType(userId number) RETURN SELF AS RESULT
AS
BEGIN
self.id := userId;
self.name := ???; --<- need help there
self.nickname := ??? --(something like select name from userType where id = userId)
(and so on)
RETURN;
END;
END;

表列与 userType 属性同名。

最佳答案

我认为您应该能够执行以下操作:

CREATE OR REPLACE TYPE BODY userType AS
CONSTRUCTOR FUNCTION userType(userId number) RETURN SELF AS RESULT
AS
BEGIN
self.id := userId;
SELECT name, nickname INTO self.name, self.nickname FROM user_table WHERE id = userId;
RETURN;
END;
END;

虽然我不确定这是正确的还是最好的方法。

关于database - PL/SQL 用表中的数据填充对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29161246/

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