自己写的一个存储过程例子,用来增加字段

本文介绍了一种使用SQL创建存储过程的方法,该方法能够批量为表中添加指定数量的字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- ============================================= 
-- Author:  <Pigeon> 
-- Create date: <2012.08.31> 
-- Description: @StartFieldNo:开始字段编号,@AddLength:要增加几个字段,@TableName:表名 
-- ============================================= 
CREATE PROCEDURE [dbo].[AddFields]  
 @StartFieldNo INT,@AddLength INT,@TableName VARCHAR(20) 
AS 
BEGIN 
 SET NOCOUNT ON; 
 DECLARE @MaxFieldNo INT;             --获得最大字段编号 
 DECLARE @AddFieldName VARCHAR(20);   --获得要增加的字段名称 
 DECLARE @SQL NVARCHAR(300); 
  
 SET @MaxFieldNo=@StartFieldNo+@AddLength; 
  
 PRINT (@MaxFieldNo); 
 WHILE @StartFieldNo<=@MaxFieldNo 
 BEGIN 
  PRINT '---Start--'; 
  --REPLICATE函数可以生成指定个数的字符,第一个参数为要生成的字符,第二个参数为生成个数 
  --CAST函数用于类型转换,这里是把整形转换为VarChar类型 
  SELECT @AddFieldName='F' + REPLICATE('0',3-DATALENGTH(CAST(@StartFieldNo AS VARCHAR(10)))) +  
    CAST(@StartFieldNo AS VARCHAR(10)); 
  PRINT '='+@AddFieldName
  IF NOT EXISTS (SELECT * FROM syscolumns WHERE ID=OBJECT_ID(@TableName) AND name=@AddFieldName
  BEGIN 
   --ALTER TABLE @TableName ADD @AddFieldName nvarchar(150); 
   SET @SQL='ALTER TABLE '+ @TableName + 
      ' ADD ' + @AddFieldName + ' nvarchar(150);'; 
   PRINT @SQL; 
   --EXEC (@SQL); 
   EXEC sp_executesql @SQL; 
  END 
  SET @StartFieldNo=@StartFieldNo+1;  
 END 
END 

 

 

调用

EXEC AddFields 8,3,'Index_Second'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值