-- 有待修改
drop type fieldinfo_type_table
/drop type fieldinfo_type
/create or replace type fieldinfo_type as object(
table_name varchar2(150), -- table owner & table name
column_name varchar2(100),
data_type varchar2(10),
data_length number(9),
data_precision number(2),
data_scale number(2))/
create or replace type fieldinfo_type_table as table of fieldinfo_type
/create or replace function getfieldinfo_func( inp_tablesynonymname in varchar2,
inp_fieldname in varchar2
)return fieldinfo_type_table
pipelined as
cursor getfieldinfo_cur( lv_tablesynonymname in varchar2,
lv_fieldname in varchar2) is
select atc.owner||'.'||atc.table_name tablename,
atc.column_name,
atc.data_type,
atc.data_length,
atc.data_precision,
atc.data_scale
from all_tab_cols atc
where exists (
select 1
from all_synonyms allsyno
where allsyno.table_name = atc.table_name
and allsyno.table_owner = atc.owner
and synonym_name = nvl(lv_tablesynonymname,synonym_name)
and atc.column_name = nvl(lv_fieldname,atc.column_name)
);v_tablesynonymname varchar2(100);
v_fieldname varchar2(100);
begin
v_tablesynonymname := trim(inp_tablesynonymname);
v_fieldname := trim(inp_fieldname);
for c in getfieldinfo_cur(v_tablesynonymname,v_fieldname) loop
pipe row(
fieldinfo_type(
c.tablename,
c.column_name,
c.data_type,
c.data_length,
c.data_precision,
c.data_scale));
end loop;
end getfieldinfo_func;
/
SQL欄位型別長度的更改
下文將對sql欄位型別長度的更改進行詳細的說明 如果資料量非常大,達到幾百萬條記錄以上,使用企業管理器來更改字段型別,很多時候會超時,更改不成功,這時可以使用sql語句來更改,如下 更改字段型別長度 alter table 表 alter column 表中的欄位名 型別的長度 varchar 60...
mysql欄位每個型別長度大小與建表型別長度說明
在建立資料庫表時,例如 create table user id int 4 primary key name varchar 20 pwd varchar 20 括號裡的數字叫資料的寬度,我們不能一概而論,因為不同的資料型別對寬度的處理也不一樣 1 整數型別,這裡顯示的寬度和資料型別的取值範圍是沒...
MySQL 修改字段型別或長度
mysql alter table 表名 modify column 欄位名 型別 例如資料庫中address表 city欄位是varchar 30 修改型別可以用 謹慎修改型別,可能會導致原有資料出錯 mysql alter table address modify column city cha...