变量声明的一个问题
declare @a sysname
这个sysname是什么 我在好多地方都看见了这个
书上好像没有提到这个是个数据类型啊
[解决办法]
Transact-SQL 程式法的考明
sysname
料型
在 Microsoft® SQL Server™ 中,每一料行、域、算式、及都具有的料型,是指定物件可以存放的料型 (integer、character、money 等) 的性。 SQL Server 提供一系料型,定了可以在 SQL Server 中使用的所有料型。系支援的料型集示如下。
您也可以定使用者自的料型 (系支援料型的名)。如需於使用者自料型的,sp_addtype建立使用者自料型。
使用算子合具有不同料型、定序、精度、值、或度的算式:
果值的料型是由入算式的料型套用料型先序而定的。若需,料型先序。
如果果料型是char、varchar、text、nchar、nvarchar、或 ntext,果值的定序是由定序先序定的。如需,定序先序。
果的精度、值、及度根入算式的精度、值、及度而定。如需,前置度。
SQL Server SQL-92 相容性提供料型同字。若需,料型同。
精值
整
bigint
整 (完整字) 料 -2^63 (-9223372036854775808) 至 2^63-1 (9223372036854775807)。
int
整 (完整字) 料 -2^31 (-2,147,483,648) 至 2^31 - 1 (2,147,483,647),而
smallint
整料, 2^15 (-32,768) 到 2^15 - 1 (32,767)。
tinyint
整料, 0 到 255。
bit
bit
整料,其值 1 或 0。
decimal numeric
Decimal
固定位及小位的字 (Numeric) 料是 -10^38 +1 到 10^38 1。
Numeric
在功能上,等於 decimal。
money smallmoney
money
料值 -2^63 (-922,337,203,685,477.5808) 到
2^63 - 1 (+922,337,203,685,477.5807),精度到千分之十位。
smallmoney
料值 -214.748,3648 到 +214,748.3647,精度到千分之十位。
近似字
float
浮位的字料, -1.79E + 308 到 1.79E + 308。
real
浮位的字料, -3.40E + 38 到 3.40E + 38。
datetime smalldatetime
datetime
日期料, 1753 年 1 月 1 日到 9999 年 12 月 31 日,精度三百分之一秒,即 3.33 毫秒 (millisecond)。
smalldatetime
日期料, 1900 年 1 月 1 日到 2079 年 6 月 6 日,精度一分。
字元字串
char
固定度的非 Unicode 字元料,最大度 8,000 字元。
varchar
可度的非 Unicode 料,最大度 8,000 字元。
text
可度的非 Unicode 料,最大度 2^31 - 1 (2,147,483,647) 字元。
Unicode 字元字串
nchar
固定度的非 Unicode 料,最大度 4,000 字元。
nvarchar
可度的 Unicode 料,最大度 4,000 字元。sysname 是一系支援的使用者自料型, nvarchar(128) 的同料表,用考料物件名。
ntext
可度的 Unicode 料,最大度 2^30 - 1 (1,073,741,823) 字元。
二位字串
binary
固定度的二位料,最大度 8,000 位元。
varbinary
可度的二位料,最大度 8,000 位元。
image
可度的二位料,最大度 2^31 - 1 (2,147,483,647) 位元。
其它料型
cursor
料指的考。
sql_variant
此料型可存 text、ntext、timestamp sql_variant以外的各 SQL Server 支援的料型。
料表
可用存果集、以供日後理的特殊料型。
戳
全料唯一的字,每一料列更新,此字便之更新。
uniqueidentifier
全域唯一 (GUID)。
另
CREATE PROCEDURE
CREATE TABLE
DECLARE @local_variable
EXECUTE
算式
函
LIKE
SET
sp_bindefault
sp_bindrule
sp_droptype
sp_help
sp_rename
sp_unbindefault
sp_unbindrule
使用 Unicode 料
©1988-2000 Microsoft Corporation. All Rights Reserved.
[解决办法]
SQL Server 实例包括一个名为 sysname 的用户定义数据类型。sysname 用于表列、变量和存储对象名的存储过程参数。sysname 的精确定义与标识符规则有关,因此在 SQL Server 的不同实例之间有所不同。sysname 在功能上与 nvarchar(128) 等效。SQL Server 6.5 版或更早版本仅支持更小的标识符;这样,在早期版本中 sysname 被定义为 varchar(30)。
[解决办法]
nvarchar(128)
:)
具体没有用过,
从SQL SERVER 的帮助看,应该是这样