选择语句中的数据重复

时间:2018-12-06 17:23:10

标签: sql oracle-sqldeveloper

我想对过程进行压力测试,而不是生成.csv文件。 问题是我没有足够的数据,所以我想在sql select中复制数据。

查询如下:

SELECT P.FST_NAME,
           P.LAST_NAME,
           P.EMAIL_ADDR,
           P.PERSON_UID,
           PR.FST_NAME PRSP_FST_NAME,
           PR.LAST_NAME PRSP_LAST_NAME, 
           M.X_BAPRO_DT_01,
           M.X_BAPRO_DT_02,
           M.X_BAPRO_DT_03,
           M.X_BAPRO_MONTO,
           M.X_BAPRO_NUM_01,
           M.X_BAPRO_NUM_02,
           M.X_BAPRO_NUM_03,
           M.X_BAPRO_TEXT_01,
           M.X_BAPRO_TEXT_02,
           M.X_BAPRO_TEXT_03,
           M.X_BAPRO_TEXT_04,
           M.X_BAPRO_TEXT_05
    FROM SIEBEL.S_SRC C 
    left join SIEBEL.S_CAMP_CON M on C.ROW_ID = M.SRC_ID
    left join SIEBEL.S_DMND_CRTN_PRG T on T.ROW_ID = M.DCP_ID
    left join SIEBEL.S_CONTACT P on P.ROW_ID = M.CON_PER_ID
    left join SIEBEL.S_PRSP_CONTACT PR on PR.ROW_ID= M.PRSP_CON_PER_ID 
    WHERE 
      C.ROW_ID <> p_row_id

因此,此查询返回大约100条记录,我要检索1000条记录,而我真的不在乎数据是否重复。

2 个答案:

答案 0 :(得分:1)

您可以添加Main Service app

cross join

答案 1 :(得分:1)

您还可以使用VALUE子句来构造小“ muliplier”表,如下所示:

SELECT ...
FROM SIEBEL.S_SRC C 
left join SIEBEL.S_CAMP_CON M on C.ROW_ID = M.SRC_ID
left join SIEBEL.S_DMND_CRTN_PRG T on T.ROW_ID = M.DCP_ID
left join SIEBEL.S_CONTACT P on P.ROW_ID = M.CON_PER_ID
left join SIEBEL.S_PRSP_CONTACT PR on PR.ROW_ID= M.PRSP_CON_PER_ID 
cross join (values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)) tabl(n)