---
title: "procedur & tomt värde"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/56159-procedur-tomt-värde"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "doggelito"
published: "2002-10-16T10:38:35.000Z"
updated: "2002-10-16T13:55:29.000Z"
replies: 9
views: 306
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/56159-procedur-tomt-värde"
---

# procedur & tomt värde

## #1 — doggelito, 2002-10-16T10:38Z

Hur kan jag skriva om denna så att Shift kan vara tomt?

```
CREATE PROCEDURE sp_productionlog_sum_week
@Shift int,
@Current_date datetime
AS
SELECT Sum(Pr.St), Sum(Pr.Kg), Sum(Pr.Totkg), Sum(pr.Stoptime), Sum(Pr.Prodtime)
FROM puuser.Productionlogtbl Pr
Where Pr.Shift = @Shift And DatePart(year,Pr.Regdate) = year(@Current_date) And 
DatePart(week,Pr.Regdate) = DatePart(week,@Current_date)
GO
```

Permalänk: https://www.webforum.nu/p/56159

## #2 — LarsG, 2002-10-16T10:54Z

```
Where coalesce(Pr.Shift,@shift) = @Shift
```

eller menar du @shift eller båda?

Permalänk: https://www.webforum.nu/p/822080

## #3 — doggelito, 2002-10-16T11:17Z

Från asp-sidan hämtar jag så här

```
Set rs_sum_week = objConn.execute("sp_productionlog_sum_week " & Shift & ", '" & First_date & "' ")
```

Variabeln Shift kan ibland vara helt tom, går det att göra nån if-tagg (typ) innuti proceduren?

Permalänk: https://www.webforum.nu/p/822107

## #4 — @nders, 2002-10-16T11:19Z

Varför inte göra en if-sats på asp-sidan?

Permalänk: https://www.webforum.nu/p/822109

## #5 — doggelito, 2002-10-16T11:34Z

Grejjen är att om Shift är tomt så ska alla Shift visas.
Hm, visst skulle jag ju kunna skriva:

```
Where Pr.Shift In (@Shift) And .....
```

Och så matar jag in alla Shift istället för tomt.
Förstår ni eller är jag för otydlig?

Permalänk: https://www.webforum.nu/p/822121

## #6 — doggelito, 2002-10-16T12:17Z

Hjälp!
Bör man inte kunna skriva nått i stil med:

```
Where (Case When Len(@shift) <> 0 Then Pr.Shift = @Shift) And....
```

Permalänk: https://www.webforum.nu/p/822156

## #7 — doggelito, 2002-10-16T13:25Z

Jag börjar om igen efter ett par misslyckade försök med olika kodningar :(

```
CREATE PROCEDURE sp_productionlog_sum_week
@Shift int,
@Current_date datetime
AS
SELECT Sum(Pr.St), Sum(Pr.Kg), Sum(Pr.Totkg), Sum(pr.Stoptime), Sum(Pr.Prodtime)
FROM puuser.Productionlogtbl Pr
Where Pr.Shift = @Shift And DatePart(year,Pr.Regdate) = year(@Current_date) And 
DatePart(week,Pr.Regdate) = DatePart(week,@Current_date)
GO

Shift = Request.Form("Shift")
First_date = Ett datum

Set rs_sum_week = objConn.execute("sp_productionlog_sum_week " & Shift & ", '" & First_date & "' ")
```

Variabeln Shift kan alltså vara tom, tex. när man kommer in på sidan första gången.
Man bör väl kunna kolla i proceduren om @Shift får ett värde så ska värdet användas annars ska Pr.Shift ignoreras och alltså visa alla, eller?

Permalänk: https://www.webforum.nu/p/822238

## #8 — LarsG, 2002-10-16T13:29Z

```
Where coalesce(@shift,pr.shift) = pr.Shift
```

Permalänk: https://www.webforum.nu/p/822242

## #9 — doggelito, 2002-10-16T13:40Z

Det närmar sig!
Jag reagerade inte på ditt svar **LarsG** förra gången pga. att det blev fel 
då med, och då trodde jag att du missförstod mig.
I alla fall, får inte @Shift nått värde nu så visas ingen post, kan 
man vända på nått i koden? den ska alltså visa alla poster. :)

Permalänk: https://www.webforum.nu/p/822252

## #10 — doggelito, 2002-10-16T13:55Z

Jahapp då är det bevisat! jag är ordblind!!!
Du skrev ju inte lika som förra gången.
Skit samma nu funkar det, jag skickar in ett null-värde om request.form("shift") är tomt inte en tom sträng.

Permalänk: https://www.webforum.nu/p/822263

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/56159-procedur-tomt-värde
