mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
411 lines
14 KiB
ObjectPascal
411 lines
14 KiB
ObjectPascal
unit dbstructures.mssql;
|
||
|
||
interface
|
||
|
||
uses
|
||
dbstructures;
|
||
|
||
var
|
||
|
||
MSSQLDatatypes: array [0..33] of TDBDatatype =
|
||
(
|
||
(
|
||
Index: dbdtUnknown;
|
||
NativeTypes: '99999';
|
||
Name: 'UNKNOWN';
|
||
Description: 'Unknown data type';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcOther;
|
||
),
|
||
(
|
||
Index: dbdtTinyint;
|
||
Name: 'TINYINT';
|
||
Description: 'Integer data from 0 through 255.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcInteger;
|
||
),
|
||
(
|
||
Index: dbdtSmallint;
|
||
Name: 'SMALLINT';
|
||
Description: 'Integer data from -2^15 (-32,768) through 2^15 - 1 (32,767).';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcInteger;
|
||
),
|
||
(
|
||
Index: dbdtInt;
|
||
Name: 'INT';
|
||
Description: 'Integer (whole number) data from -2^31 (-2,147,483,648) through 2^31 - 1 (2,147,483,647).';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcInteger;
|
||
),
|
||
(
|
||
Index: dbdtBigint;
|
||
Name: 'BIGINT';
|
||
Description: 'Integer (whole number) data from -2^63 (-9,223,372,036,854,775,808) through 2^63-1 (9,223,372,036,854,775,807).';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcInteger;
|
||
),
|
||
(
|
||
Index: dbdtBit;
|
||
Name: 'BIT';
|
||
Description: '0 or 1';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcInteger;
|
||
),
|
||
(
|
||
Index: dbdtDecimal;
|
||
Name: 'DECIMAL';
|
||
Description: 'Fixed precision and scale numeric data from -10^38 +1 through 10^38 1.';
|
||
HasLength: True;
|
||
RequiresLength: True;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
DefLengthSet: '10,0';
|
||
Category: dtcReal;
|
||
),
|
||
(
|
||
Index: dbdtNumeric;
|
||
Name: 'NUMERIC';
|
||
Description: 'Functionally equivalent to decimal.';
|
||
HasLength: True;
|
||
RequiresLength: True;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
DefLengthSet: '10,0';
|
||
Category: dtcReal;
|
||
),
|
||
(
|
||
Index: dbdtMoney;
|
||
Name: 'MONEY';
|
||
Description: 'Monetary data values from -2^63 (-922,337,203,685,477.5808) through 2^63 - 1 (+922,337,203,685,477.5807), with accuracy to a ten-thousandth of a monetary unit.';
|
||
HasLength: True;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcReal;
|
||
),
|
||
(
|
||
Index: dbdtSmallmoney;
|
||
Name: 'SMALLMONEY';
|
||
Description: 'Monetary data values from -214,748.3648 through +214,748.3647, with accuracy to a ten-thousandth of a monetary unit.';
|
||
HasLength: True;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcReal;
|
||
),
|
||
(
|
||
Index: dbdtFloat;
|
||
Name: 'FLOAT';
|
||
Description: 'Floating precision number data with the following valid values: -1.79E + 308 through -2.23E - 308, 0 and 2.23E + 308 through 1.79E + 308.';
|
||
HasLength: True;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcReal;
|
||
),
|
||
(
|
||
Index: dbdtReal;
|
||
Name: 'REAL';
|
||
Description: 'Floating precision number data with the following valid values: -3.40E + 38 through -1.18E - 38, 0 and 1.18E - 38 through 3.40E + 38.';
|
||
HasLength: True;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Category: dtcReal;
|
||
),
|
||
(
|
||
Index: dbdtTime;
|
||
Name: 'TIME';
|
||
Description: 'The time data type stores time values only, based on a 24-hour clock. '+
|
||
'The time data type has a range of 00:00:00.0000000 through 23:59:59.9999999 with an '+
|
||
'accuracy of 100 nanoseconds. The default value is 00:00:00.0000000 (midnight). The '+
|
||
'time data type supports user-defined fractional second precision, and the storage '+
|
||
'size varies from 3 to 6 bytes, based on the precision specified.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Format: 'hh:nn:ss';
|
||
Category: dtcTemporal;
|
||
),
|
||
(
|
||
Index: dbdtDate;
|
||
Name: 'DATE';
|
||
Description: 'The date data type has a range of January 1, 01 through December 31, '+
|
||
'9999 with an accuracy of 1 day. The default value is January 1, 1900. The storage size '+
|
||
'is 3 bytes.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Format: 'yyyy-mm-dd';
|
||
Category: dtcTemporal;
|
||
),
|
||
(
|
||
Index: dbdtDatetime;
|
||
Name: 'DATETIME';
|
||
Description: 'Date and time data from January 1, 1753, through December 31, 9999, with an accuracy of three-hundredths of a second, or 3.33 milliseconds.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Format: 'yyyy-mm-dd hh:nn:ss.zzz';
|
||
Category: dtcTemporal;
|
||
),
|
||
(
|
||
Index: dbdtDatetime2;
|
||
Name: 'DATETIME2';
|
||
Description: 'Date and time data from January 1,1 AD through December 31, 9999 AD, with an accuracy of three-hundredths of a second, or 3.33 milliseconds.';
|
||
HasLength: True;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Format: 'yyyy-mm-dd hh:nn:ss.zzzzzzz';
|
||
Category: dtcTemporal;
|
||
),
|
||
(
|
||
Index: dbdtDatetimeOffset;
|
||
Name: 'DATETIMEOFFSET';
|
||
Description: 'Defines a date that is combined with a time of a day that has time zone awareness and is based on a 24-hour clock.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Format: 'yyyy-mm-dd hh:nn:ss.zzzzzzz';
|
||
Category: dtcTemporal;
|
||
),
|
||
(
|
||
Index: dbdtSmalldatetime;
|
||
Name: 'SMALLDATETIME';
|
||
Description: 'Date and time data from January 1, 1900, through June 6, 2079, with an accuracy of one minute.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: False;
|
||
Format: 'yyyy-mm-dd hh:nn:ss';
|
||
Category: dtcTemporal;
|
||
),
|
||
(
|
||
Index: dbdtTimestamp;
|
||
Name: 'TIMESTAMP';
|
||
Description: 'A database-wide unique number that gets updated every time a row gets updated.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcInteger;
|
||
),
|
||
(
|
||
Index: dbdtChar;
|
||
Name: 'CHAR';
|
||
Description: 'Fixed-length non-Unicode character data with a maximum length of 8,000 characters.';
|
||
HasLength: True;
|
||
RequiresLength: True;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: True;
|
||
DefLengthSet: '50';
|
||
Category: dtcText;
|
||
),
|
||
(
|
||
Index: dbdtVarchar;
|
||
Name: 'VARCHAR';
|
||
Description: 'Variable-length non-Unicode data with a maximum of 8,000 characters.';
|
||
HasLength: True;
|
||
RequiresLength: True;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: True;
|
||
DefLengthSet: '50';
|
||
Category: dtcText;
|
||
),
|
||
(
|
||
Index: dbdtText;
|
||
Name: 'TEXT';
|
||
Description: 'Variable-length non-Unicode data with a maximum length of 2^31 - 1 (2,147,483,647) characters.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: True;
|
||
Category: dtcText;
|
||
),
|
||
(
|
||
Index: dbdtNchar;
|
||
Name: 'NCHAR';
|
||
Description: 'Fixed-length Unicode data with a maximum length of 4,000 characters.';
|
||
HasLength: True;
|
||
RequiresLength: True;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: True;
|
||
DefLengthSet: '50';
|
||
Category: dtcText;
|
||
),
|
||
(
|
||
Index: dbdtNvarchar;
|
||
Name: 'NVARCHAR';
|
||
Description: 'Variable-length Unicode data with a maximum length of 4,000 characters. sysname is a system-supplied user-defined data type that is functionally equivalent to nvarchar(128) and is used to reference database object names.';
|
||
HasLength: True;
|
||
RequiresLength: True;
|
||
HasBinary: False;
|
||
HasDefault: True;
|
||
LoadPart: True;
|
||
DefLengthSet: '50';
|
||
Category: dtcText;
|
||
),
|
||
(
|
||
Index: dbdtNtext;
|
||
Name: 'NTEXT';
|
||
Description: 'Variable-length Unicode data with a maximum length of 2^30 - 1 (1,073,741,823) characters.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: True;
|
||
Category: dtcText;
|
||
),
|
||
(
|
||
Index: dbdtBinary;
|
||
Name: 'BINARY';
|
||
Description: 'Fixed-length binary data with a maximum length of 8,000 bytes.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: True;
|
||
Category: dtcBinary;
|
||
),
|
||
(
|
||
Index: dbdtVarbinary;
|
||
Name: 'VARBINARY';
|
||
Description: 'Variable-length binary data with a maximum length of 8,000 bytes.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: True;
|
||
Category: dtcBinary;
|
||
),
|
||
(
|
||
Index: dbdtImage;
|
||
Name: 'IMAGE';
|
||
Description: 'Variable-length binary data with a maximum length of 2^31 - 1 (2,147,483,647) bytes.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcBinary;
|
||
),
|
||
(
|
||
Index: dbdtCursor;
|
||
Name: 'CURSOR';
|
||
Description: 'A reference to a cursor.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcOther;
|
||
),
|
||
(
|
||
Index: dbdtSqlvariant;
|
||
Name: 'SQL_VARIANT';
|
||
Description: 'A data type that stores values of various SQL Server-supported data types, except text, ntext, timestamp, and sql_variant.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcOther;
|
||
),
|
||
(
|
||
Index: dbdtTable;
|
||
Name: 'TABLE';
|
||
Description: 'A special data type used to store a result set for later processing .';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcOther;
|
||
),
|
||
(
|
||
Index: dbdtUniqueidentifier;
|
||
Name: 'UNIQUEIDENTIFIER';
|
||
Description: 'A globally unique identifier (GUID).';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcOther;
|
||
),
|
||
(
|
||
Index: dbdtHierarchyid;
|
||
Name: 'HIERARCHYID';
|
||
Description: 'Represents a position in a hierarchy.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcOther;
|
||
),
|
||
(
|
||
Index: dbdtXML;
|
||
Name: 'XML';
|
||
Description: 'Lets you store XML documents and fragments.';
|
||
HasLength: False;
|
||
RequiresLength: False;
|
||
HasBinary: False;
|
||
HasDefault: False;
|
||
LoadPart: False;
|
||
Category: dtcOther;
|
||
)
|
||
);
|
||
|
||
|
||
implementation
|
||
|
||
end.
|