webForumDet fria alternativet
Logga in / Bli medlem

Om procedur = eof then return false

Databaser & SQL

2 svar · 188 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Trådstart#1

Tänkte skapa en procedur av denna

Set rs = objConn.execute("Select Interval From Daytbl " & _
"Where Taskid = " & Ta_Taskid & " And Interval = " & Weekday(Loop_date, 2) & " ;")
    If Not rs.Eof Then
	Interval = True
	Else
	Interval = False
    End If

den kommer väl att se ut ungefär:

CREATE PROCEDURE namnet 
@Taskid int,
@Loop_date datetime
AS
exec('
Select Interval From Daytbl
Where Taskid = @Taskid  And Interval =  DatePart(weekday,@Loop_date) ') 

Go

Frågan är: kan man på ett enkelt sätt få en utparameter som är antingen true eller false beroende på om det blir eof eller inte, i så fall hur skriver jag då?

Medlem sedan dec. 200012 464 inlägg
#2

Det finns inte boolean i Tsql.

CREATE PROCEDURE namnet 
@Taskid int,
@Loop_date datetime
AS
if exists(
Select Interval From Daytbl
Where Taskid = @Taskid  And Interval =  DatePart(weekday,@Loop_date) 
select 1
else
select 0 
Go

Använd inte dynamisk sql om du inte måste.

Medlem sedan juni 20003 076 inlägg
#3

Det är uppfattat! :)

385 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
125 ms — deklarationer (db)
127 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)