SQLSERVER操作字段約束,修改字段名稱等


-- 表加注釋
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注釋內容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名'
--例如:
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'系統設置表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CM01_SYSTEM'

--為字段加注釋:

exec sp_addextendedproperty
@name=N'MS_Description',
@value=N'說明',
@level0type=N'SCHEMA',
@level0name=N'dbo',
@level1type=N'TABLE',
@level1name=N'表名',
@level2type=N'COLUMN',
@level2name=N'字段名'

--修改字段名稱

語法:execute sp_rename '表名.字段名','新字段名'

exec sp_helpconstraint @objname='Evl_EvluationProsMarkGroup'

 

execute sp_rename 'Evl_EvluationProsMarkGroup.EvluationProsPlanId','EvluationProsId'

--刪除字段約束

要想刪除字段約束,第一步應查詢當前字段所在表的所有約束

語法:select * from sysobjects where parent_obj in(select id from sysobjects where name='表名')

或者:exec sp_helpconstraint @objname='表名'

 

select * from sysobjects where parent_obj in(select id from sysobjects where name='Evl_EvluationProsPlan')

然后執行刪除約束

語法:ALTER TABLE 表名  DROP CONSTRAINT FK__Evl_Evlua__Evlua__45472A22

ALTER TABLE Evl_EvluationProsMarkGroup  DROP CONSTRAINT FK__Evl_Evlua__Evlua__45472A22

 增加一個約束:

ALTER TABLE [dbo].[Evl_EvluationProsMarkGroup]  WITH CHECK ADD  CONSTRAINT [FK__Evl_Evlua__Evlua__52D62F6A] FOREIGN KEY([EvluationProsPlanId])
REFERENCES [dbo].[Evl_EvluationPros] ([EvluationProsId])

具體可以查看表的構造語句,譬如:

GO

/****** Object:  Table [dbo].[Evl_EvluationProsMarkGroup]    Script Date: 2018/10/31 9:57:45 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[Evl_EvluationProsMarkGroup](
    [MarkGroupId] [varchar](100) NOT NULL,
    [EvluationProsPlanId] [varchar](100) NULL,
    [GroupId] [varchar](100) NULL,
    [GroupName] [varchar](100) NULL,
    [RoleId] [varchar](100) NULL,
    [RoleName] [varchar](100) NULL,
    [UserId] [varchar](100) NULL,
    [UserName] [nvarchar](50) NULL,
    [CreateDate] [datetime] NULL,
 CONSTRAINT [PK__Evl_Evlu__86E697BBFBDDA48D] PRIMARY KEY CLUSTERED 
(
    [MarkGroupId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING ON
GO

ALTER TABLE [dbo].[Evl_EvluationProsMarkGroup] ADD  CONSTRAINT [DF__Evl_Evlua__Creat__53CA53A3]  DEFAULT (getdate()) FOR [CreateDate]
GO

ALTER TABLE [dbo].[Evl_EvluationProsMarkGroup]  WITH CHECK ADD  CONSTRAINT [FK__Evl_Evlua__Evlua__52D62F6A] FOREIGN KEY([EvluationProsPlanId])
REFERENCES [dbo].[Evl_EvluationProsPlan] ([EvluationProsPlanId])
GO

ALTER TABLE [dbo].[Evl_EvluationProsMarkGroup] CHECK CONSTRAINT [FK__Evl_Evlua__Evlua__52D62F6A]
GO


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM