将随机数据插入具有外键的表中

时间:2014-05-03 01:54:27

标签: sql database oracle oracle11g

我有一张桌子"用户" (idUsernamedepartmentId)和另一个表格"部门" (idDepartmentname)。

我想将随机数据插入到表User中,但是有必要只考虑先前插入的部门。

我认为它会是这样的:

INSERT INTO User (idUser, name, departmentId)
VALUES (seq_user.nextVal, 'random name', FK_RANDOM_DEPARTMENT);

如何生成此随机名称'并且只使用我已插入的部门?

提前致谢!

1 个答案:

答案 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)
);