2017-12-13 16 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では問題ありません。 16、列:14:同じクエリが17.3上で実行されている場合は、次のエラーが行で

パースエラーが返されるの近くに不適切な構文「(」

を異なるだけで他は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標準版(64ビット)クエリが動作しないバージョンは 'Microsoft SQL Azure(RTM) - 12.0.2000.8 Nov 29 2017 09:37:51(Build 7601:Service Pack 1)' 6.1 となりました。Copyright(C)2017 Microsoft Corporation ' –

答えて

1

SSMSの最新バージョンは17.4です。 SSMSを使用している最中にSQL Azureデータベースを使用するには、SSMSの最新バージョンのみをダウンロードして使用してください。 hereからSSMS 17.4をダウンロードし、以前のバージョンは使用しないでください。

さらに、テンポラリテーブルは、hereで説明されているように、Azure SQLデータベースでは動作が異なります。

関連する問題