在';附近获取错误语法';SQL Server 2000中的错误

在';附近获取错误语法';SQL Server 2000中的错误,sql,tsql,sql-server-2000,Sql,Tsql,Sql Server 2000,我正在使用SQL Server 2000中的SQL查询分析器运行此查询: create table TABLENAME( DBID_ bigint not null, CLASS_ varchar(255) not null, DBVERSION_ integer not null, KEY_ varchar(255), CONVERTER_ varchar(255), HIST_ bit,

我正在使用SQL Server 2000中的SQL查询分析器运行此查询:

create table TABLENAME(
        DBID_ bigint not null,
        CLASS_ varchar(255) not null,
        DBVERSION_ integer not null,
        KEY_ varchar(255),
        CONVERTER_ varchar(255),
        HIST_ bit,
        EXECUTION_ bigint,
        TASK_ bigint,
        LOB_ bigint,
    DATE_VALUE_ timestamp,
        DOUBLE_VALUE_ double,
        CLASSNAME_ varchar(255),
        LONG_VALUE_ bigint,
        STRING_VALUE_ varchar(255),
        TEXT_VALUE_ longvarchar,
        EXESYS_ bigint,
        primary key (DBID_)
    );
但出现了一个错误:

服务器:Msg 170,15级,状态1,第12行,第12行:“,”附近的语法不正确


double
不是有效的日期类型。尝试
real
,或
float

浮点:具有以下有效值的浮点精度数字数据: -1.79E+308至-2.23E-308,0和2.23E+308至1.79E+308

实数:具有以下有效值的浮点数字数据: -3.40E+38至-1.18E-38,0和1.18E-38至3.40E+38


问题在于
double\u VALUE\u
列上的
double
数据类型。您需要将其更改为其他数据类型

您还在列
TEXT\u VALUE\u
上使用的数据类型为
longvarchar
,该数据类型无效:

您也很可能需要将
时间戳
替换为
日期时间
。根据相应列的名称(
DATE\u VALUE)\uu
),您似乎将
timestamp
误认为是与时间戳有关的类型


这不是SQL Server方言看起来longvarchar是longvarchar可能是用户定义的数据类型谢谢。。我有一个sql,我想在SQLServer2000中执行它。我将纠正脚本,因为SQL 2000中不存在
varchar(max)
使用
varchar(8000)
(最大的varchar)或
Text
@Magnus谢谢,已修复。我没有要测试的SQL 2000实例。:)
create table TABLENAME(
        DBID_ bigint not null,
        CLASS_ varchar(255) not null,
        DBVERSION_ integer not null,
        KEY_ varchar(255),
        CONVERTER_ varchar(255),
        HIST_ bit,
        EXECUTION_ bigint,
        TASK_ bigint,
        LOB_ bigint,
        DATE_VALUE_ timestamp, -- consider changing this to datetime
        DOUBLE_VALUE_ double, -- change this to another datatype -- use float
        CLASSNAME_ varchar(255),
        LONG_VALUE_ bigint,
        STRING_VALUE_ varchar(255),
        TEXT_VALUE_ longvarchar,  -- change this datatype -- varchar(8000) or text
        EXESYS_ bigint,
        primary key (DBID_)
    );