반응형
테이블 값 함수에서 변수 선언
테이블 값 함수에서 변수를 선언하려면 어떻게 해야 합니까?(내 제목처럼)
표 값 함수에는 두 가지 맛이 있습니다.하나는 선택 문일 뿐이고 하나는 선택 문보다 더 많은 행을 가질 수 있습니다.
변수를 사용할 수 없습니다.
create function Func() returns table
as
return
select 10 as ColName
대신 다음과 같이 해야 합니다.
create function Func()
returns @T table(ColName int)
as
begin
declare @Var int
set @Var = 10
insert into @T(ColName) values (@Var)
return
end
SQL Server에서:
이 솔루션은 그다지 좋은 솔루션은 아니지만 MSTVF 대신 인라인 TVF를 사용해야 하는 타당한 이유가 있고 변수를 매개 변수로 TVF에 전달할 수 없지만 SELECT 문을 사용하여 얻을 수 있는 경우 CTE를 사용하여 다음과 같이 값에 액세스할 수 있습니다.
CREATE FUNCTION func()
RETURNS TABLE
AS
RETURN
(
-- Create a CTE table containing just the required value
WITH cte_myVar AS
(SELECT <statement to select variable>) col1
-- Use the value by selecting it from the CTE table
SELECT * FROM table1 t1
WHERE t1.col1 = (SELECT col1 FROM cte_myVar)
)
언급URL : https://stackoverflow.com/questions/6661505/declare-variable-in-table-valued-function
반응형
'source' 카테고리의 다른 글
App_Code에 있는 클래스에 액세스할 수 없습니다. (0) | 2023.05.06 |
---|---|
모든 분기 및 태그를 포함하여 로컬 Gitrepo를 새 원격으로 푸시 (0) | 2023.05.06 |
Postgre로 SQL 덤프 가져오기SQL 데이터베이스 (0) | 2023.05.06 |
Git 하위 모듈에서 변경사항을 "커밋"하려면 어떻게 해야 합니까? (0) | 2023.05.06 |
SQL Server 데이터베이스 크기 선택 (0) | 2023.05.06 |