143:
144: -- Steps-1 Intiliazation of AD tables.
145: IF (l_init_process = TRUE) THEN
146: BEGIN
147: ad_longtolob_pkg.initialize_process
148: (p_specific_table => lp_table_name);
149: END;
150: END IF;
151:
158: || ' new_column_name, new_data_type, status, '
159: || ' action, ROWID '
160: || ' FROM ad_long_column_conversions '
161: || ' WHERE status = '''
162: || ad_longtolob_pkg.g_initialized_status
163: || ''''
164: || ' AND upper(table_name) = upper('''
165: || lp_table_name
166: || ''')'
179:
180: EXIT WHEN l_cur%NOTFOUND;
181:
182: BEGIN
183: IF (l_curr_status = ad_longtolob_pkg.g_initialized_status)
184: THEN
185: -- overrding the new column datatype
186: IF ( lp_new_column_data_type IS NOT NULL
187: AND lp_new_column_data_type IN
190: THEN
191: l_new_data_type := lp_new_column_data_type;
192: END IF;
193:
194: ad_longtolob_pkg.add_new_column (l_schema,
195: l_table_name,
196: l_old_column_name,
197: l_new_column_name,
198: l_new_data_type,
223: || ' new_column_name, new_data_type, status, '
224: || ' action, ROWID '
225: || ' FROM ad_long_column_conversions '
226: || ' WHERE status = '''
227: || ad_longtolob_pkg.g_add_new_column_status
228: || ''''
229: || ' and upper(table_name) = upper('''
230: || lp_table_name
231: || ''')'
244:
245: EXIT WHEN l_cur%NOTFOUND;
246:
247: BEGIN
248: IF (l_curr_status = ad_longtolob_pkg.g_add_new_column_status
249: )
250: THEN
251: --overrding the new column datatype
252: IF ( lp_new_column_data_type IS NOT NULL
256: THEN
257: l_new_data_type := lp_new_column_data_type;
258: END IF;
259:
260: ad_longtolob_pkg.create_transform_triggers
261: (l_schema,
262: l_table_name,
263: l_old_column_name,
264: l_new_column_name,
288: || ' old_data_type, new_column_name, new_data_type, status, '
289: || ' action, ROWID '
290: || ' FROM ad_long_column_conversions '
291: || ' WHERE status IN ('''
292: || ad_longtolob_pkg.g_add_trigger_status
293: || ''','''|| ad_longtolob_pkg.g_add_new_column_status || ''''
294: || ') AND upper(table_name) = upper('''
295: || lp_table_name
296: || ''')'
289: || ' action, ROWID '
290: || ' FROM ad_long_column_conversions '
291: || ' WHERE status IN ('''
292: || ad_longtolob_pkg.g_add_trigger_status
293: || ''','''|| ad_longtolob_pkg.g_add_new_column_status || ''''
294: || ') AND upper(table_name) = upper('''
295: || lp_table_name
296: || ''')'
297: || ' AND upper(old_column_name) = upper('''
308:
309: EXIT WHEN l_cur%NOTFOUND;
310:
311: BEGIN
312: IF (l_curr_status IN (ad_longtolob_pkg.g_add_trigger_status,ad_longtolob_pkg.g_add_new_column_status))
313: THEN
314: ad_longtolob_pkg.update_new_data (l_schema,
315: l_table_name,
316: l_old_column_name,
310:
311: BEGIN
312: IF (l_curr_status IN (ad_longtolob_pkg.g_add_trigger_status,ad_longtolob_pkg.g_add_new_column_status))
313: THEN
314: ad_longtolob_pkg.update_new_data (l_schema,
315: l_table_name,
316: l_old_column_name,
317: l_old_data_type,
318: l_new_column_name
340: IS
341: SELECT schema_name, table_name, old_column_name, new_column_name
342: FROM ad_long_column_conversions
343: WHERE status IN
344: (ad_longtolob_pkg.g_update_rows_status,
345: ad_longtolob_pkg.g_drop_old_column_status
346: )
347: AND table_name = cur_p_table_name
348: AND old_column_name = cur_old_column_name;
341: SELECT schema_name, table_name, old_column_name, new_column_name
342: FROM ad_long_column_conversions
343: WHERE status IN
344: (ad_longtolob_pkg.g_update_rows_status,
345: ad_longtolob_pkg.g_drop_old_column_status
346: )
347: AND table_name = cur_p_table_name
348: AND old_column_name = cur_old_column_name;
349:
399: END;
400: END IF;
401:
402: UPDATE ad_long_column_conversions
403: SET status = ad_longtolob_pkg.g_col_renamed_status
404: WHERE schema_name = rec.schema_name
405: AND table_name = rec.table_name
406: AND old_column_name = rec.old_column_name;
407: COMMIT;
416: CURSOR c1 (cur_table_name VARCHAR2, cur_old_column_name VARCHAR2)
417: IS
418: SELECT schema_name, table_name, old_column_name
419: FROM ad_long_column_conversions
420: WHERE status IN (ad_longtolob_pkg.g_col_renamed_status)
421: AND table_name = cur_table_name
422: AND old_column_name = cur_old_column_name;
423:
424: l_command VARCHAR2 (300);
449: RAISE_APPLICATION_ERROR (-20001,'Exception in dropping the 2nd trigger.');
450: END;
451:
452: UPDATE ad_long_column_conversions
453: SET status = ad_longtolob_pkg.g_drop_trigger_status
454: WHERE schema_name = rec.schema_name
455: AND table_name = rec.table_name
456: AND old_column_name = rec.old_column_name;
457: COMMIT;
466: CURSOR c1 (cur_table_name VARCHAR2, cur_old_column_name VARCHAR2)
467: IS
468: SELECT schema_name, table_name, old_column_name
469: FROM ad_long_column_conversions
470: WHERE status IN (ad_longtolob_pkg.g_drop_trigger_status,ad_longtolob_pkg.g_col_renamed_status)
471: AND table_name = cur_table_name
472: AND old_column_name = cur_old_column_name;
473:
474: l_column_name VARCHAR2 (30);
493: RAISE_APPLICATION_ERROR (-20001,'Exception in marking the columns as unused.');
494: END;
495:
496: UPDATE ad_long_column_conversions
497: SET status = ad_longtolob_pkg.g_complete_status
498: WHERE schema_name = rec.schema_name
499: AND table_name = rec.table_name
500: AND old_column_name = rec.old_column_name;
501: COMMIT;
511: IS
512: SELECT schema_name, table_name, old_column_name
513: FROM ad_long_column_conversions
514: WHERE status IN (
515: ad_longtolob_pkg.g_drop_trigger_status,ad_longtolob_pkg.g_col_renamed_status)
516: AND table_name = cur_table_name
517: AND old_column_name = cur_old_column_name;
518:
519: l_column_name VARCHAR2 (30);
538: RAISE_APPLICATION_ERROR (-20001,'Exception in dropping the old column.');
539: END;
540:
541: UPDATE ad_long_column_conversions
542: SET status = ad_longtolob_pkg.g_complete_status
543: WHERE schema_name = rec.schema_name
544: AND table_name = rec.table_name
545: AND old_column_name = rec.old_column_name;
546: COMMIT;