2017-12-13 21 views
1

정확한 쿼리가 있습니다. SSMS의 17.1 버전에서 작동,하지만 17.3SSMS 17.3에서 구문 적용 오류, SSMS에서 오류 없음 17.1

IF OBJECT_ID('tempdb..#Orders','U') IS NOT NULL 
    DROP TABLE #Orders 

-- DDL and sample data for UNPIVOT Example 1 
CREATE TABLE #Orders 
(
    Orderid INT IDENTITY, 
    GiftCard INT, 
    TShirt INT, 
    Shipping INT 
) 

INSERT INTO #Orders 
    SELECT 1, NULL, 3 
    UNION ALL 
    SELECT 2, 5, 4 
    UNION ALL 
    SELECT 1, 3, 10 

SELECT * FROM #Orders 

SELECT 
    OrderID, ProductName, ProductQty 
FROM 
    #Orders 
CROSS APPLY 
    (VALUES ('GiftCard', GiftCard), ('TShirt', TShirt), 
      ('Shipping', Shipping)) x (ProductName, ProductQty) 
WHERE 
    ProductQty IS NOT NULL 

DROP TABLE #Orders 

이 17.1에 문제를 실행하지 않습니다.

유일한 다른 다른이 17.3 버전 근처의 구문이 잘못되었습니다 '(': 16, 열 : 14 같은 쿼리는 17.3에서 실행되는 경우 다음과 같은 오류가

구문 분석 오류 줄

을 반환 SSMS의 푸른에서 VM에 있습니다.

그렇지 않으면 그들이 정확히 동일합니다. 나는 이유를 조사하고 있습니다 때, 나는 경우가 연결 문제, 100 개 %의 결과를 얻고있다

.

+4

SSMS 버전은 부적합합니다. 연결하려는 SQL Server의 버전이 중요합니다. –

+0

SQL Server의 각 버전에서'select @@ version'을 실행하고 여기에 게시하십시오. – wBob

+1

쿼리가 작동하는 버전은'Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) 10 월 20 일 2015 15:36:27 Windows NT에서의 Microsoft Corporation Standard Edition (64 비트) 6.1 (빌드 7601 : 서비스 팩 1)'및 쿼리가 작동하지 않는 버전은'Microsoft SQL Azure (RTM) - 12.0.2000.8 Nov 29 2017 09:37:51 Copyright (C) 2017 Microsoft Corporation ' –

답변

1

SSMS의 최신 버전은 17.4입니다. SSMS를 사용하는 동안 SQL Azure 데이터베이스를 가장 잘 사용하려면 SSMS의 최신 버전 만 다운로드하여 사용하십시오. here에서 SSMS 17.4를 다운로드하고 이전 버전을 사용하지 마십시오.

임시 테이블의 설명은 Azure SQL 데이터베이스의 경우 here과 다를 수 있습니다.