Ajouter une colonne avec la valeur par défaut d'une sélection précédente

J'ai une valeur que je reçois comme ceci:

select myValue from myTable where id=5 

Je veux append une colonne nvarchar à une autre table où la valeur par défaut sera la précédente.

Mais je ne vois pas comment stocker cette valeur précédente pour l'utiliser dans mon script de colonne d'ajout:

 IF NOT EXISTS(SELECT * FROM sys.columns WHERE [name] = N'NewColumn' AND [object_id] = OBJECT_ID(N'MySecondTable')) BEGIN ALTER TABLE MySecondTable ADD NewColumn nvarchar(250) NOT NULL DEFAULT 'my previous value' END GO 

Merci d'avance pour votre aide!

SQL dynamic à la rescousse:

 DECLARE @defval NVARCHAR(500)=LEFT((SELECT myValue FROM myTable where id=5),250); SET @defval=REPLACE(@defval,N'''',N''''''); -- double single quotes for dynamic SQL statements DECLARE @stmt NVARCHAR(MAX)=N' IF NOT EXISTS(SELECT * FROM sys.columns WHERE [name]=N''NewColumn'' AND [object_id]=OBJECT_ID(N''MySecondTable'')) BEGIN ALTER TABLE MySecondTable ADD NewColumn nvarchar(250) NOT NULL DEFAULT N'''+@defval+''' END; '; EXECUTE sp_executesql @stmt; 
 DECLARE @default nvarchar(250) DECLARE @SQL nvarchar(max) SELECT @default = myValue from myTable WHERE id=5 IF NOT EXISTS(SELECT * FROM sys.columns WHERE [name] = N'NewColumn' AND [object_id] = OBJECT_ID(N'MySecondTable')) BEGIN SET @SQL = ' ALTER TABLE MySecondTable ADD NewColumn nvarchar(250) NOT NULL DEFAULT ''' + @default+'''' EXEC sp_executesql @SQL END GO