Strona główna > SQL > SQL Server i programista .NET–czyli jak uruchomić procedurę składowaną z getdate i nie zwariować

SQL Server i programista .NET–czyli jak uruchomić procedurę składowaną z getdate i nie zwariować

Dzisiaj chciałem sobie potestować procedurę składowaną, która ma następującą definicję:

CREATE PROCEDURE [dbo].[Event_GetDetailedInfo]
    @UserId uniqueidentifier,
    @FromDate datetime,
    @City nvarchar(4000),
    @Tag nvarchar(4000),
    @LastEventId uniqueidentifier

 

używając oto takiego testu:

exec [dbo].[Event_GetDetailedInfo1]
    @UserId = NULL,
    @FromDate  = getdate(),
    @City  = ‚Warsaw’,
    @Tag = ‚c#’,
    @LastEventId  = NULL

 

i jakież było moje zdziwienie kiedy dostałem błąd:

Msg 102, Level 15, State 1, Line 8
Incorrect syntax near ‚)’.

Wyszło na to, że mam błąd przy GetDate(), a tak na prawdę przy nawiasach…choć GetDate ma przecież wymagane nawiasy…

Wyszło na to, że nie mozna przekazać wyniku funkcji do uruchomienia metody – dobrze wiedzieć!!

Aby zadziałało wpisuję:

DECLARE @tmp DATETIME

SET @tmp = GETDATE()

exec [dbo].[Event_GetDetailedInfo1]
    @UserId = NULL,
    @FromDate  = @tmp,
    @City  = ‚Warsaw’,
    @Tag = ‚c#’,
    @LastEventId  = NULL

 

i działa.

Kategorie:SQL
  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d blogerów lubi to: