我有一张桌子"用户" (idUser
,name
,departmentId
)和另一个表格"部门" (idDepartment
,name
)。
我想将随机数据插入到表User
中,但是有必要只考虑先前插入的部门。
我认为它会是这样的:
INSERT INTO User (idUser, name, departmentId)
VALUES (seq_user.nextVal, 'random name', FK_RANDOM_DEPARTMENT);
如何生成此随机名称'并且只使用我已插入的部门?
提前致谢!
答案 0 :(得分:5)
INSERT INTO User
(idUser, name, departmentId)
VALUES
(seq_user.nextVal,
DBMS_RANDOM.STRING('L', 20), /*20 is a number of characters in a string*/
(SELECT * FROM (SELECT idDepartment FROM Department ORDER BY DBMS_RANDOM.VALUE) WHERE ROWNUM = 1)
);