openkava

专注物流系统,企业信息化,进出口业务,会展,电子商务 目标:CIO 架构师
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

sql 存储过程处理 字段说明

Posted on 2005-12-06 21:46  openkava  阅读(504)  评论(0)    收藏  举报
--在表格中输入每个表的描述 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[T_ColumnMap]'and OBJECTPROPERTY(id, N'IsUserTable'= 1
drop table [dbo].[T_ColumnMap] 
GO 

CREATE TABLE [dbo].[T_ColumnMap] ( 
[cm_ID] [int] IDENTITY (11NOT NULL , 
[cm_Entity] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , 
[cm_Column] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL , 
[cm_DisplayText] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , 
[cm_Sequence] [int] NOT NULL 
ON [PRIMARY] 
GO 









--设置表中的每个字段的描述,从数据库中的表的字段说明得到。 

/* 
Person Date Comments 
----------- --------------- ------------------------------------------- 
yang 2004-12-11 Create 
yang 2005-8-26 Modify 
Function: 设置 
Argument: 

Remark : 
*/
 


/* 

/// <root userID=""> 
/// <cs cnid="" /> 
/// 
/// 
/// 
/// 
/// </root> 

*/
 
create procedure pr_ydf_SetTableColumnDescription 



AS 
DECLARE @TableName varchar(30) ,@ColumnName varchar(30),@Description varchar(50

DECLARE @ERROR INT 

SET NOCOUNT ON 


DECLARE @Temp_Cursor CURSOR 
SET @Temp_Cursor =CURSOR FOR 
SELECT cm_Entity,cm_Column,cm_DisplayText FROM T_ColumnMap WHERE SUBSTRING(cm_entity,1,1)='T' 
OPEN @Temp_Cursor 
FETCH NEXT FROM @Temp_Cursor INTO @TableName,@ColumnName,@Description 


WHILE @@FETCH_STATUS=0 
BEGIN 

--SET @TableName =REPLACE(@TableName,'v_','t_') 

exec @ERROR=sp_addextendedproperty N'MS_Description'@Description, N'user', N'dbo', N'table'@TableName, N'column'@ColumnName 

IF @ERROR=1 
exec @ERROR=sp_updateextendedproperty N'MS_Description'@Description, N'user', N'dbo', N'table'@TableName, N'column'@ColumnName 



FETCH NEXT FROM @Temp_Cursor INTO @TableName,@ColumnName,@Description 

END --WHILE END 

CLOSE @Temp_Cursor 





SET NOCOUNT OFF 

RETURN