diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-05-01 15:12:12 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-05-01 15:12:12 -0400 |
commit | c9aa36da061816dee256a979c2ff8d2ee41824d9 (patch) | |
tree | 29f7002b80ee984b488bd047dbbd80b36bf892e9 /maintenance/mssql/archives/named_constraints.sql | |
parent | b4274e0e33eafb5e9ead9d949ebf031a9fb8363b (diff) | |
parent | d1ba966140d7a60cd5ae4e8667ceb27c1a138592 (diff) |
Merge branch 'archwiki'
# Conflicts:
# skins/ArchLinux.php
# skins/ArchLinux/archlogo.gif
Diffstat (limited to 'maintenance/mssql/archives/named_constraints.sql')
-rw-r--r-- | maintenance/mssql/archives/named_constraints.sql | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/maintenance/mssql/archives/named_constraints.sql b/maintenance/mssql/archives/named_constraints.sql new file mode 100644 index 00000000..94b77ea7 --- /dev/null +++ b/maintenance/mssql/archives/named_constraints.sql @@ -0,0 +1,38 @@ +DECLARE @fullyQualifiedTableName nvarchar(max), +@tableName sysname, +@fieldName sysname, +@constr sysname, +@constrNew sysname, +@sqlcmd nvarchar(max), +@sqlcreate nvarchar(max) + +SET @fullyQualifiedTableName = '/*_*//*$tableName*/' +SET @tableName = '/*$tableName*/' +SET @fieldName = '/*$fieldName*/' + +SELECT @constr = CONSTRAINT_NAME +FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS +WHERE TABLE_NAME = @tableName +AND CONSTRAINT_CATALOG = '/*$wgDBname*/' +AND CONSTRAINT_SCHEMA = '/*$wgDBmwschema*/' +AND CONSTRAINT_TYPE = 'CHECK' +AND CONSTRAINT_NAME LIKE ('CK__' + left(@tableName,9) + '__' + left(@fieldName,5) + '%') + +SELECT @constrNew = CONSTRAINT_NAME +FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS +WHERE TABLE_NAME = @tableName +AND CONSTRAINT_CATALOG = '/*$wgDBname*/' +AND CONSTRAINT_SCHEMA = '/*$wgDBmwschema*/' +AND CONSTRAINT_TYPE = 'CHECK' +AND CONSTRAINT_NAME = (@fieldName + '_ckc') + +IF @constr IS NOT NULL +BEGIN + SET @sqlcmd = 'ALTER TABLE ' + @fullyQualifiedTableName + ' DROP CONSTRAINT [' + @constr + ']' + EXECUTE sp_executesql @sqlcmd +END +IF @constrNew IS NULL +BEGIN + SET @sqlcreate = 'ALTER TABLE ' + @fullyQualifiedTableName + ' WITH NOCHECK ADD CONSTRAINT ' + @fieldName + '_ckc CHECK /*$checkConstraint*/;' + EXECUTE sp_executesql @sqlcreate +END
\ No newline at end of file |