Procedura składowana i wiele danych

Procedura składowana i wiele danych
K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 113
0

Witam,

Powiedzmy że procedura wygląda tak

Kopiuj
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

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

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

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
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.

R3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 419
1

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.