Procedura składowana i wiele danych

0

Witam,

Powiedzmy że procedura wygląda tak

ALTER PROCEDURE [dbo].[PodajKontrahenta]
		@Idkontrahentow varchar(50),
		@Idgrupy int
AS
BEGIN
	SET NOCOUNT ON;

    SELECT [ID_KONTRAHENTA]
      ,[ID_GRUPY]
      ,[NAZWA]
      ,[NIP]
      
  FROM [Baza].[dbo].[KONTRAHENT]
  where ID_GRUPY = @Idgrupy and ID_KONTRAHENTA in (@Idkontrahentow)
END
 

Jak teraz wywołać tą procedurę aby podać kilka idkontrahentow gdy zrobię to tak to wyrzuci błąd

 
exec PodajKontrahenta '2,5,11,13', 1

poniewaz nie moze zmienic varchar to numeric. Jak to obejść?

0

Napisać ją tak, żeby przyjmowała tablicę liczb, albo parsowała sobie ten tekst, który jej podałeś, albo żeby budowała dynamiczny SQL i go wykonywała.

1

Analiza pięciu sposobów rozwiązania problemu
http://sqlperformance.com/2012/07/t-sql-queries/split-strings

1 użytkowników online, w tym zalogowanych: 0, gości: 1