ورود

View Full Version : Update کردن کل جدولهای database



الهام جان نثار
سه شنبه 22 دی 1388, 10:06 صبح
سلام
من یه دیتابیس اوراکلی دارم با حدود 100 جدول که میخوام یک function روی تمام اونها اجرا بشه.
یعنی میخوام توی تمام جدولها search کنه و اگر فیلدی پیدا کنه که از نوع varchar2 باشه ، متد مورد نظر را اجرا کنه تا اون فیلد Update شود.

ممنون میشم اگر کمکم کنید.

aidin300
چهارشنبه 23 دی 1388, 18:54 عصر
سلام
من اسکریپت زیر را برای تبدیل کاراکتر ست های دیتابیس نوشتم می تونی با کمی تغییر استفاده کنی



spool script_name.sql
select 'update ' ||t.TABLE_NAME || ' set ' || t.COLUMN_NAME || ' = replace('||t.COLUMN_NAME||', unistr(''\064a''), unistr(''\06cc''));' from user_tab_columns t
where t.DATA_TYPE in ( 'VARCHAR2','NVARCHAR2') and T.TABLE_NAME NOT IN (SELECT VIEW_NAME FROM USER_VIEWS);
spool off;

babila
شنبه 26 دی 1388, 11:51 صبح
می تونی از این ویو استفاده بکنی
user_tab_columns
این ویو شامل تمامی فیلد های جداولت با نام جدول و دیتا تایپ و مقدار پیش فرض و ... است