---
title: "Return multiple value?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/191732-return-multiple-value/page2"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "harry_boy"
published: "2013-09-12T20:44:41.000Z"
updated: "2013-09-19T05:08:22.000Z"
replies: 26
views: 3175
page: 2
pages: 2
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/191732-return-multiple-value"
---

# Return multiple value?

_Sida 2 av 2._

## #21 — harry_boy, 2013-09-17T20:19Z

Tack @nders för ditt tålamod.

I min demomiljö så fungerar det men när jag kör på den skrapa miljön så får jag nu:

Maximum stored procedure, function, trigger or view nesting level exceeded limit 32

Och jag har kontrollerat så att inga andra triggers ligger på ord.

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

## #22 — nitro2k01, 2013-09-17T21:02Z

Triggern triggar sig själv när den ändrar raden ifråga, igen och igen, till den når 32 nivåer och stannar. Mer frihands-SQL, jag lade till en IF EXISTS-rad som ska kolla om ordern har "fel" URL och behöver uppdateras. Förhoppningsvi ska det funka. Det kanske finns något bättre sätt att göra det på.

```
CREATE TRIGGER [dbo].[FreightSearch] 
ON [DB1].[dbo].[Ord]

AFTER UPDATE
AS

BEGIN 
  SET NOCOUNT ON;

DECLARE @Web VARCHAR(260)

SELECT @Web = CONCAT(Stc.Ad4, inserted.OrdNo) 
FROM Stc 
JOIN inserted
ON Stc.StcNo = inserted.FrStc

IF EXISTS(
SELECT * FROM Ord
WHERE  (Ord.OrdNo = inserted.OrdNo AND Ord.TrTp = '1') AND Web <> @Web
)

BEGIN
  UPDATE Ord SET Web = @Web FROM inserted
  WHERE  Ord.OrdNo = inserted.OrdNo
  AND Ord.TrTp = '1'
END
   
END  
GO
```

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

## #23 — @nders, 2013-09-18T05:03Z

En idé (istället för att lägga in SQL-kod för att kontrollera) är att stänga av "recursive triggers" på databasen. Om man har rättigheter, förstås.

```
ALTER DATABASE MyDataBase SET RECURSIVE_TRIGGERS OFF
GO
```

mvh

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

## #24 — @nders, 2013-09-18T05:05Z

Förresten - det luktar Visma om det här - kan det stämma?  :)

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

## #25 — harry_boy, 2013-09-18T22:24Z

@nders - Du har bra näsa :-)

Var tycker du att jag ska sätta in detta värde?

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

## #26 — nitro2k01, 2013-09-18T23:37Z

> **[@nders skrev:](https://www.webforum.nu/p/1568684)**
>
> En idé (istället för att lägga in SQL-kod för att kontrollera) är att stänga av "recursive triggers" på databasen. Om man har rättigheter, förstås.
> 
>
>
> ```
> ALTER DATABASE MyDataBase SET RECURSIVE_TRIGGERS OFF
> GO
> ```

Frågan jag spontant ställer mig är om det stänger av rekursiva anrop globalt och permanent, och kan skapa problem med annan kod som använder det.

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

## #27 — @nders, 2013-09-19T05:08Z

> **[nitro2k01 skrev:](https://www.webforum.nu/p/1568693)**
>
> Frågan jag spontant ställer mig är om det stänger av rekursiva anrop globalt och permanent, och kan skapa problem med annan kod som använder det.

Det gör det, och det kan det. Tänkte'nte på det!

Kanske är det smartast att lägga in en kontroll i sin kod som nitro tidigare föreslog - eller möjligen leka lite med trigger_nestlevel() för att göra en snygg exit.

mvh

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/191732-return-multiple-value/page2  
Föregående sida: https://www.webforum.nu/amne/databaser-sql/191732-return-multiple-value.md
