我的数据库架构中定义了以下VARRAY类型:
create or replace type STRING_VECTOR is varray(10) of varchar2(50);
我还有以下员工数据库表
first name| last name| salary
'John' | 'Doe' | 10.00
请注意,工资栏是NUMBER(38,14)。
我想要做的是添加第四列我的STRING_VECTOR类型。我想用每个记录的字符串值填充我的字符串向量,如下所示:
first name| last name| salary| data
'John' | 'Doe' | 10.00 | ['John', 'Doe', '10.00']
有人可以给我一些关于是否可以编写PL / SQL来实现这一点的指示吗?
答案 0 :(得分:1)
这一点都不难看,看看:
CREATE TABLE my_emp_test (
first_name VARCHAR2(20),
last_name VARCHAR2(20),
salary NUMBER(38, 14)
);
INSERT INTO my_emp_test VALUES ('John', 'Doe', 10.00);
COMMIT;
CREATE OR REPLACE TYPE string_vector IS VARRAY(10) OF VARCHAR2(50);
ALTER TABLE my_emp_test ADD data string_vector;
UPDATE my_emp_test
SET data = string_vector(first_name, last_name, TO_CHAR(salary))
;
COMMIT;
SELECT * FROM my_emp_test;
FIRST_NAME LAST_NAME SALARY DATA -------------------- -------------------- ---------- ------------------------------------ John Doe 10 HR.STRING_VECTOR('John','Doe','10')
你写道你想要PL / SQL,但是你可以在纯SQL中完成它,这对你有用吗?