begin
declare @tempTable table
(
[日期] [smalldatetime] NULL,
[机械番号] [Varchar](30) NULL,
[数量] [decimal] NULL
)insert @tempTable
SELECT ....
endCREATE TABLE #FIELD(FIELD VARCHAR(30)) INSERT INTO #FIELD SELECT DISTINCT 机械番号 FROM @tempTable 在查询分析器中:
当我执行到最后一句话时,提示错误:必须声明@temptable变量。
而当我直接执行 “SELECT DISTINCT 机械番号 FROM @tempTable”这句话时,可用。为什么?
declare @tempTable table
(
[日期] [smalldatetime] NULL,
[机械番号] [Varchar](30) NULL,
[数量] [decimal] NULL
)insert @tempTable
SELECT ....
endCREATE TABLE #FIELD(FIELD VARCHAR(30)) INSERT INTO #FIELD SELECT DISTINCT 机械番号 FROM @tempTable 在查询分析器中:
当我执行到最后一句话时,提示错误:必须声明@temptable变量。
而当我直接执行 “SELECT DISTINCT 机械番号 FROM @tempTable”这句话时,可用。为什么?
那么,用一个游标变量传递一下不行吗?或用Create来建立临时表啊
declare @tempTable table
(
[日期] [smalldatetime] NULL,
[机械番号] [Varchar](30) NULL,
[数量] [decimal] NULL
)insert @tempTable
SELECT ....
endCREATE TABLE #FIELD(FIELD VARCHAR(30))
declare @sql varchar(8000)
set @sql=''
select @sql='INSERT INTO #FIELD SELECT DISTINCT 机械番号 FROM '+ @tempTable
exec(@sql)
select @sql='INSERT INTO #FIELD SELECT DISTINCT 机械番号 FROM '+ @tempTable
char 怎么可以 加表变量呢?
(
[日期] [smalldatetime] NULL,
[机械番号] [Varchar](30) NULL,
[数量] [decimal] NULL
)CREATE TABLE #FIELD(FIELD VARCHAR(30)) INSERT INTO #FIELD SELECT DISTINCT 机械番号 FROM @tempTable SELECT DISTINCT 机械番号 FROM @tempTable --------------------------------
SQL SERVER 2000 上试验过没问题呀!