ALTER PROCEDURE dbo.SPGetPalletForDelete Kanske detta kan fungera? Så fick jag tyvärr heller inte skriva. =( Ja, det funkade ju inte. Men det här funkar för mig: Kör du MySQL eller SQL EXPRESS? för jag kör SQL EXPRESS 2005 Har kommit upp med en liten ful lösning nu ;). Det är ingen fullösning, det är så man ska göra. ALTER PROCEDURE dbo.SPGetPalletForDelete Hämta värde från ett Stored Procedure
(
@artnbr int,
@pos nchar(10),
@nbr_out int OUTPUT
)
AS
SELECT TOP(1)@nbr_out = nbr
FROM pallet
WHERE (pos = @pos) AND (artNbr = @artNbr)
ORDER BY nbr
RETURN
Har problem med att få ut värdet från detta stored procedure.
Det är på denna raden som problemet ligger: SELECT TOP(1)@nbr_out = nbr
Jag skulle själv vilja ha det till att vara: SELECT @nbr_out = TOP(1)nbr
Men så får jag inte ha det för Visual Studio.
Någon som har något tips på hur man kan sätta upp det för att få ut rätt värde till @nbr_out
/mvh OskarSv:Hämta värde från ett Stored Procedure
---
SET @nbr_out=SELECT TOP(1) nbr
FROM pallet
WHERE (pos = @pos) AND (artNbr = @artNbr)
ORDER BY nbr
SELECT @nbr_out AS 'nbr_out
--- Sv: Hämta värde från ett Stored Procedure
Incorret syntax near the Keyword 'SET'
Incorret syntax near the Keyword 'SELECT'
/mvh OskarSv:Hämta värde från ett Stored Procedure
SET @nbr_out=(SELECT TOP 1 nbr
FROM pallet
WHERE (pos = @pos) AND (artNbr = @artNbr)
ORDER BY nbr)
SELECT @nbr_out AS 'nbr_out' Sv: Hämta värde från ett Stored Procedure
Sv: Hämta värde från ett Stored Procedure
(
@artnbr int,
@pos nchar(10),
@nbr_out int OUTPUT
)
AS
SELECT TOP(1)@nbr_out = nbr
FROM pallet
WHERE (pos = @pos) AND (artNbr = @artNbr)
ORDER BY nbr
SELECT TOP(1)@nbr_out
FROM pallet
WHERE (pos = @pos) AND (artNbr = @artNbr)
RETURN
Nu gnäller iaf inte Visual Studio... =)Sv:Hämta värde från ett Stored Procedure
Sedan behöver du inte ange TOP(1), när du ska hämta ut värdet (från SPn alltså).
/HåkanSv: Hämta värde från ett Stored Procedure
(
@artnbr int,
@pos nchar(10),
@nbr_out int OUTPUT
)
AS
SELECT TOP 1 @nbr_out = nbr
FROM pallet
WHERE (pos = @pos) AND (artNbr = @artNbr)
ORDER BY nbr
RETURN
Detta ska fungera både i SQL 2000 och 2005, inga paranteser före 2005.
Mvh
/Henrik