Stored Procedure Parameter für SELECT IN Abfrage

11/08/2008 - 17:21 von Peter Treier | Report spam
Hallo zusammen

ich stehe vor folgendem Problem.
Ich habe diese SP

ALTER PROCEDURE [dbo].[sp_getActivitiesByRoleNameAndStep]
(
@roleName VARCHAR(1000),
@stepName CHAR(50)
)
AS
BEGIN

SET NOCOUNT ON ;

SELECT Activities.ActivityName,
Activities.Activity_ID,
Activities.CommentField,
Activities.CommentMandatory
FROM Activities
INNER JOIN Role ON Activities.AllowedByRole = Role.Role_ID
INNER JOIN Codes ON Activities.AllowedByStep = Codes.Code_ID
WHERE ( Role.RoleDescription IN ( @roleName) )
AND AND ( Codes.Code_ID = dbo.fn_GetProductionStateID(RTRIM(@stepName)) )
ORDER BY Role.Role

END

Den Parameter @stepName zu übergeben war einfach ;-)
Aber wie übergibt man den Parameter @roleName ?

Das Feld Role.RoleDescription ist ein NVARCHAR Feld. Also sollte man doch so
übergeben können 'wert1','wert2','wert3'

aber das funzt nicht?! Wird der Parameter ev. als EIN String erkannt ?

danke jetzt schon für einen Tipp

Peter
 

Lesen sie die antworten

#1 Elmar Boye
11/08/2008 - 19:30 | Warnen spam
Hallo Peter,

Peter Treier schrieb:
ich stehe vor folgendem Problem.
Ich habe diese SP

[...]
WHERE ( Role.RoleDescription IN ( @roleName) )
AND AND ( Codes.Code_ID = dbo.fn_GetProductionStateID(RTRIM(@stepName)) )

Den Parameter @stepName zu übergeben war einfach ;-)
Aber wie übergibt man den Parameter @roleName ?
Das Feld Role.RoleDescription ist ein NVARCHAR Feld.



die IN Klausel erwartet eine Wert- bzw. Parameterliste!

Also sollte man doch so übergeben können 'wert1','wert2','wert3'



Das kann man eben nicht.

Die Möglichkeiten zeigt Erland Sommarskog's Artikel:
<URL:http://www.sommarskog.se/arrays-in-...5.html>

Gruß Elmar

Ähnliche fragen