PostgreSQL에 대해 더 많이 배우고 있습니다. MSSQL Server에서 PostgreSQL으로 옮겨 가고 있습니다. 내가 PostgreSQL의 함수에서 sp_executesql을 부분을 어떻게 해결하려고 노력하고있어postgresql이 동적 SQL 명령을 실행합니다.
DECLARE ServiceabilityParameters
CURSOR FORWARD_ONLY READ_ONLY STATIC LOCAL FOR
SELECT WorkbookParameterType.ID,
WorkbookParameterType.Name,
WorkbookParameter.DefaultValue,
WorkbookParameter.CommandText
FROM WorkbookParameter
JOIN WorkbookParameterType ON WorkbookParameterType.ID = WorkbookParameter.WorkbookParameterTypeID
JOIN WorkbookParameterDirectionType ON WorkbookParameterDirectionType.ID = WorkbookParameter.WorkbookParameterDirectionTypeID
AND WorkbookParameterDirectionType.Writable = 1
WHERE WorkbookParameter.WorkbookID = @WorkbookID
OPEN ServiceabilityParameters
FETCH NEXT FROM ServiceabilityParameters INTO @WorkbookParameterTypeID, @WorkbookParameterTypeName, @WorkbookDefaultValue, @WorkbookCommandText
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @ActualValue NVARCHAR(256) = NULL
IF @WorkbookCommandText IS NOT NULL
BEGIN
EXEC sp_executesql @statement = @WorkbookCommandText,
@params = N'@ApplicationContainerID INT, @Value NVARCHAR(256) OUTPUT',
@ApplicationContainerID = @ApplicationContainerID,
@Value = @ActualValue OUTPUT
END
IF @ActualValue IS NULL AND @WorkbookDefaultValue IS NOT NULL
BEGIN
SET @ActualValue = @WorkbookDefaultValue
END
INSERT @InputParameters (
ID, Name, Value
) VALUES (
@WorkbookParameterTypeID, @WorkbookParameterTypeName, @ActualValue
)
FETCH NEXT FROM ServiceabilityParameters INTO @WorkbookParameterTypeID, @WorkbookParameterTypeName, @WorkbookDefaultValue, @WorkbookCommandText
END
CLOSE ServiceabilityParameters
DEALLOCATE ServiceabilityParameters
: MSSQL에서
나는 다음과 같은 코드가 있습니다. 나머지는 할 수 있다고 생각하지만 대부분의 예제에서는 간단한 변수를 몇 가지 변수로 표시하지만 다른 함수는 매개 변수와 함께 실행해야합니다. 여기서 함수 이름은 테이블의 텍스트입니다.
많은 감사.
https://www.postgresql.org/docs/current/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN –