반응형
SQL Server에서 해당하는 %Rowtype
저장 프로시저를 pl/sql에서 SQL Server로 변환하려고 합니다.이 절차는 커서를 사용하여 결과를 루프합니다.select
쿼리. Oracle과 동일한 SQL Server가 있습니까?rowtype
건설?
이것이 오라클과 비교할 때 SQL Server를 싫어하는 큰 이유입니다.
SS에 %TYPE과 %ROWTYPE이 없다는 것이 너무 실망스럽습니다.이렇게 하면 처음 코드를 작성할 때 몇 시간 동안 작업할 수 있고 열의 유형을 변경해야 하는 경우 다시 돌아가서 모든 코드를 다시 작업해야 하는 시간을 절약할 수 있습니다.
Oracle에서 저는 다음과 같은 글을 쓰곤 했습니다.
@MyRowVar를 %RowTYPE 테이블로 선언합니다.
SQL Server에서 저는 다음과 같이 적어야 했습니다.
DECLARE @External_ID AS BIGINT = NULL;
DECLARE @PlatformID AS INT = NULL;
DECLARE @ActorIDOfReseller AS INT = NULL;
DECLARE @ActorIDOfClient AS INT = NULL;
DECLARE @ActorIDOfExtension AS INT = NULL;
DECLARE @CallType AS NCHAR (10) = NULL;
DECLARE @CallInitiatedDate AS DATE = NULL;
DECLARE @CallInitiatedTimeHH24MI AS TIME (0) = NULL;
DECLARE @TimePeriodID AS INT = NULL;
DECLARE @CallAnswered AS DATETIME = NULL;
DECLARE @CallAnsweredYN AS BIT = NULL;
DECLARE @CallDispositionID AS INT = NULL;
DECLARE @CountryID AS INT = NULL;
DECLARE @CallPrefixID AS INT = NULL;
DECLARE @FromNumber AS VARCHAR (32) = NULL;
DECLARE @ToNumber AS VARCHAR (80) = NULL;
DECLARE @CallDuration AS INT = NULL;
DECLARE @CallCostToExtension AS DECIMAL (10, 6) = NULL;
DECLARE @CallCostToClient AS DECIMAL (10, 6) = NULL;
DECLARE @CallCostToReseller AS DECIMAL (10, 6) = NULL;
DECLARE @CallCostToAdmin AS DECIMAL (10, 6) = NULL;
DECLARE @Flow AS VARCHAR (3) = NULL;
DECLARE @CallStart AS DATETIME = NULL;
DECLARE @MoneyUnit AS VARCHAR (32) = NULL;
DECLARE @Prefix AS VARCHAR (32) = NULL;
DECLARE @External_CallID AS VARCHAR (255) = NULL;
이것은 저를 매우 슬프게 합니다.
하비
커서를 사용하는 SQL 방법은 아래와 같습니다.
DECLARE @colA varchar(50), @colB varchar(50)
DECLARE myCursor CURSOR FOR
Select columnA, columnB From table
OPEN myCursor
FETCH NEXT FROM myCursor INTO @colA, @colB
WHILE @@FETCH_STATUS = 0
BEGIN
--do something with @colA and @colB
FETCH NEXT FROM myCursor INTO @colA, @colB
END
CLOSE myCursor
DEALLOCATE myCursor
~하듯이@HarveyFrench
없다고 응답했습니다.@rowtype
모든 열 변수를 생성하려면 이 선택 및 복사 붙여넣기를 결과에서 사용할 수 있습니다.
SELECT 'DECLARE @customPrefix' + COLUMN_NAME + ' ' + DATA_TYPE + ';'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Your_table'
언급URL : https://stackoverflow.com/questions/4022460/rowtype-equivalent-in-sql-server
반응형
'source' 카테고리의 다른 글
방법 수준의 스프링 프로파일? (0) | 2023.08.07 |
---|---|
Oracle SQL 쿼리를 사용하여 먼저 숫자별로 정렬하는 방법은 무엇입니까? (0) | 2023.08.07 |
파이썬에서 어레이에서 임의의 요소를 선택하려면 어떻게 해야 합니까? (0) | 2023.08.07 |
jQuery를 사용하여 즉시 하위 div 요소 카운트 (0) | 2023.08.07 |
양방향 바인딩이란 무엇입니까? (0) | 2023.08.07 |