[MSSQL] Funkcja jako parametr procedury

[MSSQL] Funkcja jako parametr procedury
JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5046
0

Cześć, mam jak dla mnie dziwny problem(MSSQL 2005 Express)

Jest wywołanie procedury:

Kopiuj
execute procName @param1, dateadd(hh, 10, @dateTimeParam), @param3 output

Dostaję syntax error:
"Incorrect syntax near 'hh'."

O co mu chodzi?

AP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3079
0

Takie rzeczy tylko w Erze. Parametr przekazany do procedury musi być zmienną lub stałą zatem musisz zrobić w ten sposób:

Kopiuj
DECLARE @data datetime;
SET @data = dateadd(hh, 10, @dateTimeParam);
EXECUTE procName @param1, @data, @param3 OUTPUT;
nediam
  • Rejestracja: dni
  • Ostatnio: dni
0

DECLARE
@date datetime,
@param3 varchar(32)

SET @date = dateadd(hh, 10, '2009-01-01')

EXECUTE procName
@param1 = 1,
@param2 = @date,
@param3 = @param3 OUTPUT

// łups nie zdążyłem :(

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.