oracle
declarecolexist number;
begin
select count(
1) into colexist from user_tab_columns where table_name=upper('
history
') and column_name=upper('
name
');--判斷列是否存在
if colexist = 0 then --如果不存在,進行建立
execute immediate
'alter table history add name varchar(64) default (
''''
) not null';
end if ;
end;
/
或者
createorreplace
procedure
col_v1
( tbname
invarchar
, colname
invarchar
, coltype
invarchar)as
colexist
number(4
);begin
select
count(1) into colexist from user_tab_columns where table_name=
upper(tbname) and column_name=
upper(colname);--
判斷列是否存在
if colexist =
0then
insert
into c_test (id) values (1
);
execute
immediate
'alter table
'||tbname||
'add
'||colname||''
||coltype;
endif
;
commit
;end;/
call col_v1(
'c_test
','tppid2
','number(4) default 0 not null
');
mysql資料庫表增加字段
delimiter ;;drop procedure if exists columnadd;
create procedure `columnadd`(tbname varchar(30),colname varchar(32),coltype varchar(64
))begin
declare p_str varchar(
300);
if not exists (select * from information_schema.columns where table_schema=database() and table_name = tbname and column_name =colname) then -- 判斷列是否存在
set p_str= concat('
alter table
',tbname,'
add
',colname ,'
',coltype);
set @sql =p_str;
prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;
end if;
end;;
delimiter ;
-- 呼叫該儲存過程
call columnadd(
'lf_wcd_p1
','wcd_urlp1
','varchar(64) not null default
'''''
);
mysql資料庫表刪除字段
delimiter ;;drop procedure if exists columndel;
create procedure `columndel`(tbname varchar(30),colname varchar(32
))begin
declare p_str varchar(
300);
if not exists (select * from information_schema.columns where table_schema=database() and table_name = tbname and column_name =colname) then
set p_str= concat('
alter table
',tbname,'
drop column
',colname ,'
',coltype);
set @sql =p_str;
prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;
end if;
end;;
delimiter ;
-- 呼叫該儲存過程call columnadd('lf_wcd_p1','wcd_urlp1');
sqlserver資料庫新增字段
ifexists ( select
*from sys.objects where type='p
'and name=
'columnadd')
begin
drop
procedure
[columnadd
]end
gocreate
procedure
columnadd
(@tbname
varchar(15
),@colname
varchar(32
),@coltype
varchar(64))
asbegin
--declare @currentdatabase varchar(100)
declare
@p_str
varchar(300
)
--set @currentdatabase = select db_name()
ifcol_length(@tbname, @colname) is
null
set@p_str='
alter table '+
@tbname+'
add '+
@colname+'
'+@coltype
exec(@p_str
)end
goexec columnadd '
lf_mttask
','finishtime
','datetime not null default getdate()
'go
關於yii 資料庫新增新字段之後model類的修改
rules array 新字段 safe on search 1 array 新字段 safe 這個如果是要使用者輸入的話,要加一下,2 array 新字段 numerical 如果是數字的話 3 array 新字段 length max 100 如果是文字 1 2 3適當的最少要加一條,新字段才會...
FMDB 資料遷移即資料庫增加新字段
最近公司需要新專案,需要資料持久化 使用的是fmdb操作sqlite,在正常使用過程中沒有什麼毛病的,但是如果一旦需求改了 需要增加欄位的時候就必須要重新寫 或者使用者重新解除安裝安裝,這就會造成使用者資料丟失。剛開始預定方案是判斷版本號之後,對於原先資料庫裡面的資料讀出來然後新增欄位的資料進行寫入...
資料庫 新增字段語句
本文由 書畫 軟體 整理發布 內容與本軟體無關更愜意的讀 更舒心的寫 更輕鬆的發布 通用式 alter table 表名 add 欄位名 字段屬性 default 預設值 default 是可選引數 例項 alter table 班級表2 add column 小組 int 0以下例子可能確實col...