请先看如下代码CREATE TYPE [dbo].[CalculateTime] AS TABLE(
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL,
[Duration] [float] NULL,
[Equipment] [nvarchar](100) NULL,
[Other] [nvarchar](200) NULL
)
GOdeclare @table CalculateTime,@table1 CalculateTime
insert @table values ('2010-3-4','2010-3-2','10','a','b')
select * from @table where StartTime='2010-3-4'--正确
select * from @table where @table.StartTime='2010-3-4'--错误 '必须声明标量变量 "@table"。'如上代码,定义了一个表类型,在使用此表类型的时候如果要调用该表的字段,如果使用全名表变量名.字段名就提示‘必须申明标量变量’。
谁能解释下sql中对于变量的运行机制。
不好意思,分不多了,将就下。
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL,
[Duration] [float] NULL,
[Equipment] [nvarchar](100) NULL,
[Other] [nvarchar](200) NULL
)
GOdeclare @table CalculateTime,@table1 CalculateTime
insert @table values ('2010-3-4','2010-3-2','10','a','b')
select * from @table where StartTime='2010-3-4'--正确
select * from @table where @table.StartTime='2010-3-4'--错误 '必须声明标量变量 "@table"。'如上代码,定义了一个表类型,在使用此表类型的时候如果要调用该表的字段,如果使用全名表变量名.字段名就提示‘必须申明标量变量’。
谁能解释下sql中对于变量的运行机制。
不好意思,分不多了,将就下。
解决方案 »
- SQL多表统计总数?请大家帮帮忙?
- 请求高手赐教----远程复制问题
- 数据库用的是Sqlserver2000+win2003 系统
- 关于SQL联合查询的问题
- 一个用vs做的小软件,涉及数据库,既无数据库已无.NET FrameWork ,我们这里该怎么做
- SQL2000求和问题
- 怎样在存储过程里把一个表的记录导出到一个文本文件里?
- 关于sql用户
- 谁能给一篇有关paradox数据库的介绍,及其优缺点文章
- 这是二个批处理的问题,请大家帮助!其一是在一个名为EMP_no的表中插入3000行,emp_no为1-3000,且为唯一值....详情请点击谢谢!
- 取数据库中最大记录
- SQL2005在编写存储过程时,能不能是多线程的?
--只能这样。
select * from @table a where a.StartTime='2010-3-4'
或简单点:select * from @table where StartTime='2010-3-4'