2016-04-07 6 views
2

スニペットで使用されているSQLダイアレクトを知りたいのですが。それはMSSQL、MySQL、PL/SQL、またはそれは無効なSQLですか?SQLダイアレクトの検出

CREATE TABLE ACTable (
    id int NOT NULL, 
    x float NOT NULL, 
    y float NOT NULL, 
    z float NOT NULL 
) 
CONSTRAINT [PK_FTTable] PRIMARY KEY(id) 
+0

あなたは方言を何を意味しますか? –

+0

これはインタビューの質問ですか? –

+0

@JuanCarlosOropeza方言は、異なるDBMS間の構文の違いを指します。また、指定されたDBMSでのみ動作するSQLを参照することもできます。 –

答えて

3

SQLが間違っていますが、このSQLはSQL Serverで動作します:

CREATE TABLE ACTable (
    id int NOT NULL, 
    x float NOT NULL, 
    y float NOT NULL, 
    z float NOT NULL 
CONSTRAINT [PK_FTTable] PRIMARY KEY(id)) 
0

私が知る限り、それは有効なSQLではありません。

私が考えることのできるすべてのデータベースには、制約を追加するためにalter table . . .が必要です。

もちろん、私はすぐに考えることのできないデータベースがあります。しかし、私はそれがちょうどエラーです。結局のところ、制約の影響を受けるテーブルのコンテキストはありません。

1

この部分は問題が制約され、そして任意のDBに対して有効なステートメントのように見えるdoesntの

CREATE TABLE ACTable (
    id int NOT NULL, 
    x float NOT NULL, 
    y float NOT NULL, 
    z float NOT NULL 
) 

ほぼすべてのRDBMSでOKです。

あなたはsqlFiddle上のすべてのRDMBSにCREATE TABLEことを試すことができます。

+1

ありがとう、それはsqlFiddleのようなものです知って良い:) – daron

関連する問題