CLR을 호출하고 테이블을 반환하는 저장 프로 시저가 있습니다. 현재, 그것은 단일 문자열을 받아 들일 수 있지만 배열이나 다른 것에서 다중을 허용하도록 업데이트하려고합니다.CLR 함수에서 여러 문자열 수락
public static IEnumerable ParseData(System.String data){ ... }
이 string[]
, System.String[]
, IEnumerable
에 매개 변수를 변경하려고하고 ArrayList
모두 실패 : 같은
는 현재의 C# 기능이 보인다. 그 중 하나 만들려고 할 때, 제가 갈거야 것은과 같이 SQL 내 함수를 호출 할 수 있도록, 그것은 중요한 경우
CREATE FUNCTION [dbo].[ParseData] (@data /* Error: Unsupported type. */)
에 generated.sql 파일을 변경합니다
SELECT * FROM clr_parseData((SELECT TOP 10 value FROM table))
같은 데이터 세트를 생성합니다 매개 변수 (쿼리 구문이 모두 잘못되었습니다). 그러나 CLR은 전체 데이터 집합을 전달하는 것을 지원하지 않습니다. 구분 된 목록을 전달할 수 있지만 시도하는 것처럼 컬렉션을 전달할 수는 없습니다. –
@SeanLange 나는 그 대답이 될 것 같은 느낌이 들었다. 다른 방법을 찾아야 겠네요. –
귀하의 ParseData 방법은 무엇을합니까? 즉, 배열이 주어진다면 배열의 각 요소에 대해 동일한 작업을 수행 할 것입니까? 그렇다면 스칼라 함수인지 테이블 함수인지에 따라 선택 목록에서 또는 교차 적용 (각각)을 호출 할 수있는 CLR 함수 인 것처럼 들립니다. –