पहले इस एसक्यूएल का चयन करें, एसक्यूएल परिणाम से अपनी टेबल लाइन चुनें और लक्ष्य या स्रोत टैबलेट नाम बदलें। यदि तालिकाओं में समान कॉलम हैं (एक ही आदेश आवश्यक नहीं है) यह काम करेगा।
with xparams as ( select (select user from dual) "OWNER", '' "ADDSTRTOFROMTABLENAME" from dual )
,t1 as ( SELECT dbat.table_name from dba_tables dbat, xparams where dbat.owner = xparams.OWNER)
,t1c1 as ( SELECT utcs.table_name , LISTAGG(utcs.column_name,',') within group (order by utcs.column_name) "COLS" from USER_TAB_COLUMNS utcs, t1 where utcs.table_name = t1.table_name group by utcs.table_name)
,res1 as (SELECT 'insert into '|| t1c1.table_name || ' ('|| t1c1.COLS ||') select '|| t1c1.COLS || ' from ' || t1c1.table_name||xparams.ADDSTRTOFROMTABLENAME ||';' "RES" from t1c1, xparams order by t1c1.table_name)
select * from res1
मैं एक स्तंभ (एक जो पहचान प्राथमिक कुंजी है) –