表增加字段存储过程

转载 2007年09月28日 15:04:00


--exec usp_Table_AddField 'a', 'RIGHT2','char(1) default ''''' 
 
/* 
Author: LB, Date : 2005-04-12 
Desc  : 用于增加表字段,包括已复制的表和未复制的表  
*/ 
 
CREATE proc dbo.usp_Table_AddField 
@TableName varchar(50), 
@FieldName varchar(50), 
@FieldAttribute varchar(200) 
as 
set nocount on 
declare @errMsg nvarchar(400) 
set @errMsg = N'表
'+@TableName +N'字段'+@FieldName+N'增加成功!' 
 
if not exists(select name from sysobjects where xtype = 'U' and name = @TableName) 
begin 
    set @errMsg = N'表
'+@TableName+ N'不存在, 请检查!' 
    print @errMsg 
    return 
end 
 
if exists(select l.name from sysobjects l inner join syscolumns r on l.id = r.id and l.name = @TableName and l.xtype ='U' and r.name = @FieldName) 
begin 
    set @errMsg = N'表
'+@TableName+N'中字段'+@FieldName+ N'已存在, 不能增加!' 
    print @errMsg 
    return 
end 
 
if CHARINDEX('CHAR', @FieldAttribute, 1) > 0 
   set @FieldAttribute = substring(@FieldAttribute,1,  CHARINDEX(')',@FieldAttribute, 1)) +'  COLLATE SQL_Latin1_General_CP1_CI_AS ' + 
     substring(@FieldAttribute, CHARINDEX(')',@FieldAttribute,1)+1, len(@FieldAttribute)-CHARINDEX(')',@FieldAttribute,1)) 
 
if exists(select * from sysobjects where xtype='U' and replinfo != 0 and name = @TableName) 
    exec sp_repladdcolumn @TableName, @FieldName, @FieldAttribute 
else 
    exec('alter table
'+@TableName + ' add '+ @FieldName +' '+@FieldAttribute
 
if @@error != 0 
    set @errMsg = N'表
'+@TableName +N'字段'+@FieldName+N'增加失败,请检查!' 
 
print @errMsg 
 
 


GO
 

演示了通过存储过程来获取某个字段的值,并对该字段值进行了判断

 表结构定义为USE [test]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Students](    [I...
  • lllxy
  • lllxy
  • 2008年04月21日 15:14
  • 2086

mysql动态添加字段存储过程

USE `db`; DROP PROCEDURE IF EXISTS schema_change;   DELIMITER // CREATE PROCEDURE schema_change()...
  • changyuan101
  • changyuan101
  • 2016年11月25日 09:33
  • 530

为表添加和删除字段的存储过程

SQLserver:FuncADDColumn(为表添加字段)。用于为表添加字段。可以侦测表中有没有这字段。如果没有,添加该字段。/*author:nybtime :2003/12/29fixti...
  • educast
  • educast
  • 2008年09月07日 16:57
  • 1041

表增加字段存储过程

--exec usp_Table_AddField a, RIGHT2,char(1) default     /*  Author: LB, Date : 2005-04-12  Desc  : 用...
  • jing12
  • jing12
  • 2007年09月28日 15:04
  • 811

更新所有指定表时间字段及增加一天存储过程

更新存储表采集时间为当前系统时间 create or replace procedure P_Update is v_sql varchar2(1000); begin declare...
  • zuozewei
  • zuozewei
  • 2017年02月22日 20:08
  • 345

MySQL命令alter add:增加表的字段

alter add命令用来增加表的字段。 alter add命令格式:alter table 表名 add字段 类型 其他; 例如,在表MyClass中添加了一个字段passtest,类型...
  • u013063153
  • u013063153
  • 2016年11月23日 13:53
  • 6270

通过存储过程更新表结构

/* oracle版本修改表结构  * sp_alter_table:修改表结构  *   t_name:表名称  *   f_name:列名称  *   ftype:数据类型  *=========...
  • sageparadise
  • sageparadise
  • 2016年06月03日 15:58
  • 921

更新存储过程

set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo     ALTER PROCEDURE [dbo].[UpdateMember]@code nchar(10),...
  • selina_ww
  • selina_ww
  • 2007年05月10日 16:23
  • 486

SQL用存储过程在指定字段前面插入新字段

create proc addcolumn @tablename varchar(30),  --表名 @colname varchar(30),    --要加的列名 @coltype var...
  • xmlife
  • xmlife
  • 2014年01月06日 18:20
  • 949

表中增加字段

alter table asn_send_report add asr_all_packaging int(8) not null default '0' comment '当天包装产品总数'; al...
  • x1207008324
  • x1207008324
  • 2017年12月29日 18:18
  • 48
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:表增加字段存储过程
举报原因:
原因补充:

(最多只允许输入30个字)