-3
CREATE TABLE [PIPE](
ID double,
REV nvarchar(100),
SCHEDULE double 
RATING nvarchar(100) ,
MATERIAL nvarchar(100) ,
MEAS_UNITS nvarchar(100) ,
MANU_FACT nvarchar(100) ,
EC_CLASS_NAME nvarchar(100) ,
WEIGHT_DRY double ,
END_COND_1 nvarchar(100) ,
PIPE_OD_M double ,
PIPE_OD_R double ,
END_COND_2 nvarchar(100) ,
RUN_SIZE double ,
MAIN_SIZE double ,
MAT_GRADE nvarchar(100) ,
SHORT_DESC nvarchar(100) ,
LONG_DESCR nvarchar(100) ,
WALL_THICKNESS_1 double ,
PIECE_MARK nvarchar(100));

次のエラーが表示されます。「Msg 102、Level 15、State 1、Line 2 Incorrect syntax near ','.」を提案してください。

4

5 に答える 5

1
SCHEDULE double RATING nvarchar(100)

ダブルの後にコンマを忘れました。

于 2013-04-29T10:49:41.650 に答える
0

これを試してみてください -

CREATE TABLE dbo.[PIPE] 
(
        ID DECIMAL(18,2)
    ,   REV NVARCHAR(100)
    ,   SCHEDULE DECIMAL(18,2)
    ,   RATING NVARCHAR(100)
    ,   MATERIAL NVARCHAR(100)
    ,   MEAS_UNITS NVARCHAR(100)
    ,   MANU_FACT NVARCHAR(100)
    ,   EC_CLASS_NAME NVARCHAR(100)
    ,   WEIGHT_DRY DECIMAL(18,2)
    ,   END_COND_1 NVARCHAR(100)
    ,   PIPE_OD_M DECIMAL(18,2)
    ,   PIPE_OD_R DECIMAL(18,2)
    ,   END_COND_2 NVARCHAR(100)
    ,   RUN_SIZE DECIMAL(18,2)
    ,   MAIN_SIZE DECIMAL(18,2)
    ,   MAT_GRADE NVARCHAR(100)
    ,   SHORT_DESC NVARCHAR(100)
    ,   LONG_DESCR NVARCHAR(100)
    ,   WALL_THICKNESS_1 DECIMAL(18,2)
    ,   PIECE_MARK NVARCHAR(100)
);
于 2013-04-29T11:02:21.120 に答える
0

doubleSQL Server にはデータ型がありません。おおよその数値が必要な場合は、floatまたはを使用する必要があります。また、とrealの間にコンマがありません:schedulerating

CREATE TABLE [PIPE](
  ID float,
  REV nvarchar(100),
  SCHEDULE float,
  RATING nvarchar(100) ,
  MATERIAL nvarchar(100) ,
  MEAS_UNITS nvarchar(100) ,
  MANU_FACT nvarchar(100) ,
  EC_CLASS_NAME nvarchar(100) ,
  WEIGHT_DRY float ,
  END_COND_1 nvarchar(100) ,
  PIPE_OD_M float ,
  PIPE_OD_R float ,
  END_COND_2 nvarchar(100) ,
  RUN_SIZE float ,
  MAIN_SIZE float ,
  MAT_GRADE nvarchar(100) ,
  SHORT_DESC nvarchar(100) ,
  LONG_DESCR nvarchar(100) ,
  WALL_THICKNESS_1 float ,
  PIECE_MARK nvarchar(100)
);

私の提案は、decimalまたはのような正確な数値データ型の使用を検討することですnumeric

于 2013-04-29T10:52:24.140 に答える
0

これを試してください: ( SCHEDULE double の後の ',' を忘れます)

CREATE TABLE [PIPE]( ID double, REV nvarchar(100), SCHEDULE double, RATING nvarchar(100) , MATERIAL nvarchar(100) , MEAS_UNITS nvarchar(100) , MANU_FACT nvarchar(100) , EC_CLASS_NAME nvarchar(100) , WEIGHT_DRY double , END_COND_1 nvarchar(100) , PIPE_OD_M double , PIPE_OD_R double , END_COND_2 nvarchar(100) , RUN_SIZE double , MAIN_SIZE double , MAT_GRADE nvarchar(100) , SHORT_DESC nvarchar(100) , LONG_DESCR nvarchar(100) , WALL_THICKNESS_1 double , PIECE_MARK nvarchar(100));

また、 double を float に変更します

CREATE TABLE PIPE
    ( 
    ID int,
    REV nvarchar(100),
    SCHEDULE1 float,
    RATING nvarchar(100),
    MATERIAL nvarchar(100),
    MEAS_UNITS nvarchar(100),
    MANU_FACT nvarchar(100),
    EC_CLASS_NAME nvarchar(100),
    WEIGHT_DRY float, 
    END_COND_1 nvarchar(100),
    PIPE_OD_M float,
    PIPE_OD_R float, 
    END_COND_2 nvarchar(100),
    RUN_SIZE float,
    MAIN_SIZE float,
    MAT_GRADE nvarchar(100),
    SHORT_DESC nvarchar(100),
    LONG_DESCR nvarchar(100),
    WALL_THICKNESS_1 float, 
    PIECE_MARK nvarchar(100))
于 2013-04-29T10:50:57.603 に答える
0

フィールド間のコンマが抜けています 。SQLFIDDLEを確認してください。

于 2013-04-29T10:52:21.363 に答える