Trådstart 5 maj 2004 07:08 #1 Har en stored procedure där jag vill ha ut bildnamnet (nvarchar), men får bara fel, men om däremot bildname är ett tal (int) så går det bra, vad gör jag för fel?
SP
CREATE PROCEDURE sp_hakan_NVARCHAR
as
DECLARE @bildname nvarchar(50)
SELECT @bildname = 'hejsan'
exec ('SELECT '+@bildname+' as name FROM kampanj ')
GO
Fel:
DECLARE @RC int
EXEC @RC = [kdb2].[dbo].[sp_hakan_4u2_se_test]
DECLARE @PrnLine nvarchar(4000)
PRINT 'Stored Procedure: kdb2.dbo.sp_hakan_4u2_se_test'
SELECT @PrnLine = ' Return Code = ' + CONVERT(nvarchar, @RC)
PRINT @PrnLine
------------------------------------------------------------------------------
Server: Msg 207, Level 16, State 3, Line 1
Invalid column name 'hejsan'.
Stored Procedure: kdb2.dbo.sp_hakan_4u2_se_test
Return Code = 0
Denna fungerar med tal istället..hmm!
CREATE PROCEDURE sp_hakan_INT
as
DECLARE @bildname int
SELECT @bildname =1
exec ('SELECT '+@bildname+' as name FROM kampanj ')
GO
L LarsG Medlem sedan dec. 2000 12 464 inlägg Vad vill du åstadkomma? Det du försöker med nu kommer att resultera i lika många rader där det står 'hejsan' som det finns poster i tabellen kampanj.
Om du bara vill ha ett resultat där det står 'hejsan' så behöver du inte krångla till det .
CREATE PROCEDURE sp_hakan_NVARCHAR
as
SELECT 'hejsan'
Om du vill returna värdet i en variabel
CREATE PROCEDURE sp_hakan_NVARCHAR
as
...
SELECT @x
Tack LarsG, så enkelt var det!
Måste ha lidit av sömnbrist eller nåt!