/ / dichiarare le variabili in sql 2005 - sql, sql-server

dichiarare le variabili in sql 2005 - sql, sql-server

Nel mio script ho poche istruzioni selezionate e dichiarazioni di aggiornamento, ad esempio

SELECT * from TABLE1
WHERE userID= "US001"

UPDATE TABLE2
SET value= "months"
WHERE userID="US001"

dichiarazioni che vanno così avanti, quindi in questo devo copiaree incolla userID su ogni istruzione. Voglio dichiarare una variabile e assegnare a userID di riferirla, quindi non ho bisogno di aggiungere il numero ID utente a ogni query e ho bisogno di eseguire

ho provato questo

Delcare @theID userID
SET userID ="us001"

ma non ha funzionato

Per favore mi faccia sapere.. Grazie

risposte:

2 per risposta № 1

Dovrai dichiarare il tipo e assegnarlo In Sql Server, le variabili sono precedute da @, così:

DECLARE @theID NVARCHAR(20);
SET @theID ="us001";

UPDATE TABLE2 SET value= "months" WHERE userID=@theID;

1 per risposta № 2
DECLARE @theID varchar(10);
SET @theID = "us001";

Nella tua dichiarazione stai dichiarando la tua variabile come userID, che non è un tipo di dati valido.


1 per risposta № 3

Oltre alle risposte precedenti, in SQL Server 2008 e versioni successive è inoltre possibile dichiarare e impostare la variabile in un'unica riga.

DECLARE @UserID NVARCHAR(20) = "us001";

0 per risposta № 4

Questo è ciò che funziona per me sotto SQL2005 in una stored procedure:

    DECLARE @name varchar(100)
SELECT @name = "Robin"

// and this should be do the update
SET userID = @name

// or in you query it should be
WHERE userID = @name