Click here to Skip to main content
15,893,668 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
How set default value of a column as only timezone(like "Indian Standard Time") using SQL Server2012.
I have write a code about that this is :

DECLARE @TimeZone VARCHAR(50);
EXEC MASTER.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\TimeZoneInformation','TimeZoneKeyName',@TimeZone OUT;
SELECT @TimeZone

But how to set it as default value when ctreate a table ??
Posted

declare string with table create script, you can use @TimeZone value to build that table script as default value for the column. then execute that dynamic sql string using
SQL
EXECUTE(@SQLStatement)
 
Share this answer
 
Hi, You can not set Default Value for column in Create Script. First Create Table and then using Alter Script you can set default value or bindings for specific column as you require. Please check this example:
SQL
DECLARE @TimeZone VARCHAR(50);
EXEC MASTER.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\TimeZoneInformation','TimeZoneKeyName',@TimeZone OUT;
Select 'Create Table [dbo].[Test] (
            [Id] [int] IDENTITY(1,1) NOT NULL, 
			[Column1] [varchar] (50) NOT NULL, 
			[Column2] [varchar] (50) NOT NULL)
			GO
ALTER TABLE [dbo].[Test] ADD  CONSTRAINT [DF_SomeName]  DEFAULT (N'''+@TimeZone+''') FOR [Column2]
GO'

It will create following script :
SQL
Create Table [dbo].[Test] (
            [Id] [int] IDENTITY(1,1) NOT NULL, 
			[Column1] [varchar] (50) NOT NULL, 
			[Column2] [varchar] (50) NOT NULL)
			GO
ALTER TABLE [dbo].[Test] ADD  CONSTRAINT [DF_SomeName]  DEFAULT (N'India Standard Time') FOR [Column2]
GO

I hope this will help you. :)
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900