国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

sqlserver對(duì)字段的添加修改刪除、以及字段的說(shuō)明

2020-07-25 13:18:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:

--新增表字段
ALTER procedure [dbo].[sp_Web_TableFiled_Insert]
(
@TableName varchar(100),
@FieldName varchar(100),
@FieldExplain varchar(200),
@DataType varchar(100),
@ConnectTableName varchar(100),
@FieldLength int,
@NewsID int output
)
as
begin transaction mytran
declare @errorSum int
if not exists (SELECT * FROM syscolumns where id=object_id(@TableName) AND name=@FieldName)
begin
insert tb_TableField
(
TableName,
FieldName,
FieldExplain,
DataType,
ConnectTableName,
FieldLength,
UserSetSign
)
values
(
@TableName,
@FieldName,
@FieldExplain,
@DataType,
@ConnectTableName,
@FieldLength,
'1'
)
declare @sql varchar(8000)
--判斷類型
if(@DataType='decimal')
begin
set @sql = 'alter table ' + @TableName +' add ' + @FieldName +' ' + @DataType +'(' +Convert(varchar,@FieldLength)+',2'+')'
end
else if(@DataType='varchar')
begin
set @sql = 'alter table ' + @TableName +' add ' + @FieldName +' ' + @DataType +'(' +Convert(varchar,@FieldLength)+')'
end
else
begin
set @sql = 'alter table ' + @TableName +' add ' + @FieldName +' ' + @DataType
end
exec(@sql)
EXECUTE sp_addextendedproperty N'MS_Description', @FieldExplain, N'user', N'dbo', N'Table', @TableName, N'column' , @FieldName;
set @errorSum=@errorSum+@@error
set @NewsID=0;
end
else
begin
set @NewsID=1;
end
if(@errorSum>0)
begin
rollback tran
end
else
begin
commit tran mytran
end
--修改表字段
ALTER procedure [dbo].[sp_Web_TableFiled_Update]
(
@TableName varchar(100),
@FieldName varchar(100),
@FieldExplain varchar(200),
@DataType varchar(100),
@ConnectTableName varchar(100),
@FieldLength int,
@ID int,
@NewsID int output
)
as
begin transaction mytran
declare @fname varchar(100)
declare @errorSum int
--先取出表中以前的字段名稱
select @fname=FieldName from tb_TableField where ID=@ID
declare @pstid int
declare @sql varchar(8000)
--再根據(jù)字段名稱取出tb_PaySystemToLocation中對(duì)應(yīng)的ID
select @pstid=ID from tb_PaySystemToLocation where LocationField=@fname
set @sql = 'sp_rename '+CHAR(39)+@TableName+'.['+@fname+']'+CHAR(39)+',' +char(39)+@FieldName+char(39)+',' + char(39)+'COLUMN' +CHAR(39)
exec(@sql)
update tb_TableField
set TableName=@TableName,
FieldName=@FieldName,
FieldExplain=@FieldExplain,
DataType=@DataType,
ConnectTableName=@ConnectTableName,
FieldLength=@FieldLength
where ID=@ID
--修改字段說(shuō)明
EXECUTE sp_updateextendedproperty N'MS_Description', @FieldExplain, N'user', N'dbo', N'Table', @TableName, N'column' , @FieldName;
--EXEC sp_updateextendedproperty 'MS_Description',@FieldExplain,'user',dbo,'table',@TableName,'column',@FieldName
set @NewsID=0;
set @errorSum=@errorSum+@@error
if(@@ERROR>0)
begin
rollback tran
end
else
begin
commit tran mytran
end
-刪除表字段
ALTER procedure [dbo].[sp_Web_TableFiled_Delete]
(
@ID int,
@NewsID int output
)
as
begin transaction mytran
declare @fname varchar(100)
declare @tablename varchar(100)
declare @pstid int
declare @sql varchar(8000)
declare @errorSum int
--取出字段名,表名
select @fname=FieldName,@tablename=TableName from tb_TableField where ID=@ID
--取出tb_PaySystemToLocation的ID
select @pstid=ID from tb_PaySystemToLocation where LocationField=@fname
delete from tb_TableField where ID=@ID
set @sql='ALTER TABLE ' +@tablename+ ' DROP COLUMN '+ @fname
exec(@sql)
set @errorSum=@errorSum+@@error
set @NewsID=0;
if(@errorSum>0)
begin
rollback tran
end
else
begin
commit tran mytran
end
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宣化县| 遂宁市| 闵行区| 敦煌市| 二连浩特市| 秀山| 金湖县| 新邵县| 南开区| 桃园县| 乌拉特中旗| 治多县| 黄大仙区| 辽阳市| 东乌| 山西省| 鹰潭市| 墨竹工卡县| 高清| 岐山县| 乌拉特中旗| 彭阳县| 乾安县| 永德县| 四子王旗| 株洲县| 历史| 方城县| 旅游| 泸定县| 定结县| 雷州市| 偏关县| 曲靖市| 阜宁县| 安化县| 公安县| 万年县| 公安县| 阿鲁科尔沁旗| 南江县|