आप select *
से स्पष्ट रूप से अपने लक्ष्य तालिका बनाने के लिए, नहीं की आवश्यकता होगी: (। नोट मैं और अधिक सुविधाजनक क्वेरी किए जाने के लिए data_default
एक clob
कर दिया है)
create table demo_copy
(table_name varchar2(30)
, column_name varchar2(30)
, data_type varchar2(106)
, data_type_mod varchar2(3)
, data_type_owner varchar2(30)
, data_length number
, data_precision number
, data_scale number
, nullable varchar2(1)
, column_id number
, default_length number
, data_default clob
, num_distinct number
, low_value raw(32)
, high_value raw(32)
, density number
, num_nulls number
, num_buckets number
, last_analyzed date
, sample_size number
, character_set_name varchar2(44)
, char_col_decl_length number
, global_stats varchar2(3)
, user_stats varchar2(3)
, avg_col_len number
, char_length number
, char_used varchar2(1)
, v80_fmt_image varchar2(3)
, data_upgraded varchar2(3)
, hidden_column varchar2(3)
, virtual_column varchar2(3)
, segment_column_id number
, internal_column_id number
, histogram varchar2(15)
, qualified_col_name varchar2(4000));
तो फिर तुम पंक्तियों सम्मिलित कर सकते हैं
begin
for r in (
select * from user_tab_cols c
where rownum <= 2 -- your filter condition here
)
loop
insert into demo_copy values r;
end loop;
end;
, इस दृष्टिकोण के साथ सिद्धांत रूप में कुछ सीमाएं हैं एकके रूप में: एक PL/SQL पाश मेंकॉलम varchar2(32760)
से अधिक हो सकता है कि पीएल/एसक्यूएल लूप में उपयोग करेगा। हालांकि, मुझे उम्मीद है कि अधिकांश कॉलम डिफ़ॉल्ट अभिव्यक्तियों के लिए 32760 वर्ण पर्याप्त होंगे।
'लंबे समय तक सीमित सीमित प्रकार हैं। क्या कोई विशेष कारण है कि आप 'सीएलओबी' का उपयोग नहीं कर रहे हैं? – Mureinik
@Mureinik मैं user_tab_cols से कुछ डेटा निकाल रहा हूं जिसमें एक स्तंभ लंबा है, क्या कोई तरीका है कि मैं उन डेटा को निकाल सकता हूं? – Moudiz
तालिका नाम पंजीकृत नहीं किया था ... यह मेरी ओर से एक बेवकूफ सवाल था। मी कुल्पा – Mureinik