2017-05-02 8 views
0

Problem zu tun: Ich habe zwei Tabellen, und ich möchte, wie ein Wert von Estatus Tabelle abzurufen:Wie dynamischen Einsatz mit SQL

var @status = SELECT ID FROM [adm].[Estatus] WHERE Nombre = 'ACTIVA' 

und dann in eine andere Tabelle einfügen wie:

INSERT INTO [adm].[Users] 
VALUES ('[email protected]', + @status + 'new') 

aber ich habe Fehler in var @status

Incorr ect Syntax in der Nähe ‚@status‘

Ich versuche DECLARE statt var zu verwenden, aber es auch nicht funktioniert

Was muss ich Wert und die Verwendung es in meinem Einsatz Abfrage bekommen? Grüße

+0

https://stackoverflow.com/questions/548090/dynamic-sql -execsql-versus-exec-sp-executesqlsql – maSTAShuFu

Antwort

0

Sie verwenden SQL Server und Spalten-ID ist int vom Typ Angenommen:

DECLARE @status INT 

SELECT TOP 1 
     @status = ID 
FROM adm.Estatus 
WHERE Nombre = 'ACTIVA' 

INSERT INTO adm.[Users] 
VALUES ('[email protected]', CONCAT(@status, 'new')) 
0

Versuchen Sie folgendes:

INSERT INTO adm.[Users] (EmailColumn, StatusColumn) 
SELECT '[email protected]', CONVERT(VARCHAR, Id) + 'new' 
FROM adm.[EStatus] 
WHERE Nombre = 'ACTIVA'