Skip to content

Instantly share code, notes, and snippets.

@sns-seb
Created June 7, 2016 10:34
Show Gist options
  • Save sns-seb/f80beda06f596305e88b520613b8a80c to your computer and use it in GitHub Desktop.
Save sns-seb/f80beda06f596305e88b520613b8a80c to your computer and use it in GitHub Desktop.
-- ##mssql
create TABLE TEST_SEB (
COL_1 nvarchar(10),
COL_2 nvarchar(10) NOT NULL
)
-- do not change nullity nor type
alter table TEST_SEB ALTER COLUMN COL_1 nvarchar(10) NULL;
alter table TEST_SEB ALTER COLUMN COL_2 nvarchar(10) NOT NULL;
-- change nullity
alter table TEST_SEB ALTER COLUMN COL_1 nvarchar(10) NOT NULL;
alter table TEST_SEB ALTER COLUMN COL_2 nvarchar(10) NULL;
-- change type
alter table TEST_SEB ALTER COLUMN COL_1 nvarchar(20) NOT NULL;
alter table TEST_SEB ALTER COLUMN COL_2 nvarchar(20) NULL;
-- change type and nullity
alter table TEST_SEB ALTER COLUMN COL_1 nvarchar(30) NULL;
alter table TEST_SEB ALTER COLUMN COL_2 nvarchar(30) NOT NULL;
@ded703
Copy link

ded703 commented Jun 7, 2016

SQL tested successfully , the alter table XXX alter column is re-entering.

To have a create table command with a re-entering feature =>
IF NOT EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[TEST_SEB]') AND type in (N'U'))
BEGIN
create TABLE TEST_SEB (
COL_1 nvarchar(10),
COL_2 nvarchar(10) NOT NULL
)
END;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment