CREATE PROCEDURE dataexchangepro
AS
DECLARE @queryCount nvarchar(50)
DECLARE @id int
DECLARE @地块编号 nvarchar(50)
DECLARE @地块名称 nvarchar(50)
DECLARE @地块座落 nvarchar(100)
DECLARE @用地性质 nvarchar(50)
DECLARE @地块面积 float
DECLARE @出让年期 nvarchar(50)
DECLARE @出让底价 int
DECLARE @起竞价 int
DECLARE @容积率 nvarchar(50)
DECLARE @容积率数 float
DECLARE @建筑面积 nvarchar(50)
DECLARE @建筑面积数 float
DECLARE @建筑密度 nvarchar(50)
DECLARE @绿化率 nvarchar(50)
DECLARE @开发程度 nvarchar(50)
DECLARE @备注 nvarchar(200)
DECLARE @报价增幅 int
DECLARE @起始时间 datetime
DECLARE @终止时间 datetime
DECLARE @公告文号 nvarchar(50)
DECLARE @出让公告 image
DECLARE @公告类型 nvarchar(50)
DECLARE @示意图 image
DECLARE @成交与否 nvarchar(1)
DECLARE @成交价 int
DECLARE @成交时间 datetime
DECLARE @x smallint
DECLARE @y smallint
DECLARE @z nvarchar(50)
DECLARE @jgxz nvarchar(1)
DECLARE @users nvarchar(50)
DECLARE @ip nvarchar(50)
DECLARE @sj datetime
DECLARE @上报否 nvarchar(1)
DECLARE @产业门类 nvarchar(100)
DECLARE @所属区 nvarchar(50)
DECLARE STOCKORDER_CUR cursor for
SELECT * FROM [tdxx_bak].[dbo].[land] where isexsit = 1
open STOCKORDER_CURfetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
while(@@fetch_status = 0)
BEGIN
select count(*) into @queryCount from [tdxx_bak].[dbo].[gpcr_land] where id = @id
if @queryCount =1
BEGIN
UPDATE [tdxx_bak].[dbo].[gpcr_land] set id=@id,地块编号=@地块编号,地块名称=@地块名称,地块座落=@地块座落,用地性质=@用地性质,
地块面积=@地块面积,出让年期=@出让年期,出让底价=@出让底价,起竞价=@起竞价,容积率=@容积率,容积率数=@容积率数,建筑面积=@建筑面积,建筑面积数=@建筑面积数,建筑密度=@建筑密度,
绿化率=@绿化率,开发程度=@开发程度,备注=@备注,报价增幅=@报价增幅,起始时间=@起始时间,终止时间=@终止时间,公告文号=@公告文号,出让公告=@出让公告,公告类型=@公告类型,
示意图=@示意图,成交与否=@成交与否,成交价=@成交价,成交时间=@成交时间,x=@x,y=@y,z=@z,jgxz=@jgxz,users=@users,ip=@ip,sj=@sj,上报否=@上报否,产业门类=@产业门类,所属区=@所属区
where id=@id
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
END
else begin
insert into [tdxx_bak].[dbo].[gpcr_land] values(@id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区 )
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
end
fetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
ENDclose STOCKORDER_CUR
deallocate STOCKORDER_CUR
AS
DECLARE @queryCount nvarchar(50)
DECLARE @id int
DECLARE @地块编号 nvarchar(50)
DECLARE @地块名称 nvarchar(50)
DECLARE @地块座落 nvarchar(100)
DECLARE @用地性质 nvarchar(50)
DECLARE @地块面积 float
DECLARE @出让年期 nvarchar(50)
DECLARE @出让底价 int
DECLARE @起竞价 int
DECLARE @容积率 nvarchar(50)
DECLARE @容积率数 float
DECLARE @建筑面积 nvarchar(50)
DECLARE @建筑面积数 float
DECLARE @建筑密度 nvarchar(50)
DECLARE @绿化率 nvarchar(50)
DECLARE @开发程度 nvarchar(50)
DECLARE @备注 nvarchar(200)
DECLARE @报价增幅 int
DECLARE @起始时间 datetime
DECLARE @终止时间 datetime
DECLARE @公告文号 nvarchar(50)
DECLARE @出让公告 image
DECLARE @公告类型 nvarchar(50)
DECLARE @示意图 image
DECLARE @成交与否 nvarchar(1)
DECLARE @成交价 int
DECLARE @成交时间 datetime
DECLARE @x smallint
DECLARE @y smallint
DECLARE @z nvarchar(50)
DECLARE @jgxz nvarchar(1)
DECLARE @users nvarchar(50)
DECLARE @ip nvarchar(50)
DECLARE @sj datetime
DECLARE @上报否 nvarchar(1)
DECLARE @产业门类 nvarchar(100)
DECLARE @所属区 nvarchar(50)
DECLARE STOCKORDER_CUR cursor for
SELECT * FROM [tdxx_bak].[dbo].[land] where isexsit = 1
open STOCKORDER_CURfetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
while(@@fetch_status = 0)
BEGIN
select count(*) into @queryCount from [tdxx_bak].[dbo].[gpcr_land] where id = @id
if @queryCount =1
BEGIN
UPDATE [tdxx_bak].[dbo].[gpcr_land] set id=@id,地块编号=@地块编号,地块名称=@地块名称,地块座落=@地块座落,用地性质=@用地性质,
地块面积=@地块面积,出让年期=@出让年期,出让底价=@出让底价,起竞价=@起竞价,容积率=@容积率,容积率数=@容积率数,建筑面积=@建筑面积,建筑面积数=@建筑面积数,建筑密度=@建筑密度,
绿化率=@绿化率,开发程度=@开发程度,备注=@备注,报价增幅=@报价增幅,起始时间=@起始时间,终止时间=@终止时间,公告文号=@公告文号,出让公告=@出让公告,公告类型=@公告类型,
示意图=@示意图,成交与否=@成交与否,成交价=@成交价,成交时间=@成交时间,x=@x,y=@y,z=@z,jgxz=@jgxz,users=@users,ip=@ip,sj=@sj,上报否=@上报否,产业门类=@产业门类,所属区=@所属区
where id=@id
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
END
else begin
insert into [tdxx_bak].[dbo].[gpcr_land] values(@id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区 )
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
end
fetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
ENDclose STOCKORDER_CUR
deallocate STOCKORDER_CUR
sqlserver08以后的debug还是挺好用的,不过用游标的话调试起来就有点操蛋了。
http://database.51cto.com/art/201012/236622.htm
select count(*) into @queryCount from [tdxx_bak].[dbo].[gpcr_land] where id = @id
这一行报
消息 170,级别 15,状态 1,过程 dataexchangepro,第 52 行
第 52 行: '@queryCount' 附近有语法错误。
--应该是语法问题吧?--我估计这句的目的是这样的,把count出来的数据赋值给queryCount
select count(*) into @queryCount from [tdxx_bak].[dbo].[gpcr_land] where id = @id
--那就是这样的
select @queryCount=count(*) from [tdxx_bak].[dbo].[gpcr_land] where id = @id
--我猜的啊
消息 2739,级别 16,状态 1,过程 dataexchangepro,第 3 行
对于局部变量,text、ntext 和 image 数据类型无效。
消息 2739,级别 16,状态 1,过程 dataexchangepro,第 3 行
对于局部变量,text、ntext 和 image 数据类型无效。
AS
DECLARE @queryCount nvarchar(50)
DECLARE @id int
DECLARE @地块编号 nvarchar(50)
DECLARE @地块名称 nvarchar(50)
DECLARE @地块座落 nvarchar(100)
DECLARE @用地性质 nvarchar(50)
DECLARE @地块面积 float
DECLARE @出让年期 nvarchar(50)
DECLARE @出让底价 int
DECLARE @起竞价 int
DECLARE @容积率 nvarchar(50)
DECLARE @容积率数 float
DECLARE @建筑面积 nvarchar(50)
DECLARE @建筑面积数 float
DECLARE @建筑密度 nvarchar(50)
DECLARE @绿化率 nvarchar(50)
DECLARE @开发程度 nvarchar(50)
DECLARE @备注 nvarchar(200)
DECLARE @报价增幅 int
DECLARE @起始时间 datetime
DECLARE @终止时间 datetime
DECLARE @公告文号 nvarchar(50)
DECLARE @出让公告 image
DECLARE @公告类型 nvarchar(50)
DECLARE @示意图 image
DECLARE @成交与否 nvarchar(1)
DECLARE @成交价 int
DECLARE @成交时间 datetime
DECLARE @x smallint
DECLARE @y smallint
DECLARE @z nvarchar(50)
DECLARE @jgxz nvarchar(1)
DECLARE @users nvarchar(50)
DECLARE @ip nvarchar(50)
DECLARE @sj datetime
DECLARE @上报否 nvarchar(1)
DECLARE @产业门类 nvarchar(100)
DECLARE @所属区 nvarchar(50)
DECLARE STOCKORDER_CUR cursor for
SELECT * FROM [tdxx_bak].[dbo].[land] where isexsit = 1
open STOCKORDER_CURfetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
while(@@fetch_status = 0)
BEGIN
select @queryCount=count(*) from [tdxx_bak].[dbo].[gpcr_land] where id = @id
if @queryCount =1
BEGIN
UPDATE [tdxx_bak].[dbo].[gpcr_land] set id=@id,地块编号=@地块编号,地块名称=@地块名称,地块座落=@地块座落,用地性质=@用地性质,
地块面积=@地块面积,出让年期=@出让年期,出让底价=@出让底价,起竞价=@起竞价,容积率=@容积率,容积率数=@容积率数,建筑面积=@建筑面积,建筑面积数=@建筑面积数,建筑密度=@建筑密度,
绿化率=@绿化率,开发程度=@开发程度,备注=@备注,报价增幅=@报价增幅,起始时间=@起始时间,终止时间=@终止时间,公告文号=@公告文号,出让公告=@出让公告,公告类型=@公告类型,
示意图=@示意图,成交与否=@成交与否,成交价=@成交价,成交时间=@成交时间,x=@x,y=@y,z=@z,jgxz=@jgxz,users=@users,ip=@ip,sj=@sj,上报否=@上报否,产业门类=@产业门类,所属区=@所属区
where id=@id
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
END
else begin
insert into [tdxx_bak].[dbo].[gpcr_land] values(@id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区 )
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
end
fetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
ENDclose STOCKORDER_CUR
deallocate STOCKORDER_CUR
就改了x_wy46所说的那个问题,现在报
消息 2739,级别 16,状态 1,过程 dataexchangepro,第 3 行
对于局部变量,text、ntext 和 image 数据类型无效。
消息 2739,级别 16,状态 1,过程 dataexchangepro,第 3 行
对于局部变量,text、ntext 和 image 数据类型无效。
AS
DECLARE @queryCount INT
DECLARE @id INT
DECLARE @地块编号 NVARCHAR(50)
DECLARE @地块名称 NVARCHAR(50)
DECLARE @地块座落 NVARCHAR(100)
DECLARE @用地性质 NVARCHAR(50)
DECLARE @地块面积 FLOAT
DECLARE @出让年期 NVARCHAR(50)
DECLARE @出让底价 INT
DECLARE @起竞价 INT
DECLARE @容积率 NVARCHAR(50)
DECLARE @容积率数 FLOAT
DECLARE @建筑面积 NVARCHAR(50)
DECLARE @建筑面积数 FLOAT
DECLARE @建筑密度 NVARCHAR(50)
DECLARE @绿化率 NVARCHAR(50)
DECLARE @开发程度 NVARCHAR(50)
DECLARE @备注 NVARCHAR(200)
DECLARE @报价增幅 INT
DECLARE @起始时间 DATETIME
DECLARE @终止时间 DATETIME
DECLARE @公告文号 NVARCHAR(50)
DECLARE @出让公告 IMAGE
DECLARE @公告类型 NVARCHAR(50)
DECLARE @示意图 IMAGE
DECLARE @成交与否 NVARCHAR(1)
DECLARE @成交价 INT
DECLARE @成交时间 DATETIME
DECLARE @x SMALLINT
DECLARE @y SMALLINT
DECLARE @z NVARCHAR(50)
DECLARE @jgxz NVARCHAR(1)
DECLARE @users NVARCHAR(50)
DECLARE @ip NVARCHAR(50)
DECLARE @sj DATETIME
DECLARE @上报否 NVARCHAR(1)
DECLARE @产业门类 NVARCHAR(100)
DECLARE @所属区 NVARCHAR(50)
DECLARE STOCKORDER_CUR CURSOR
FOR
SELECT *
FROM [tdxx_bak].[dbo].[land]
WHERE isexsit = 1
OPEN STOCKORDER_CUR
FETCH NEXT FROM STOCKORDER_CUR INTO @id, @地块编号, @地块名称, @地块座落, @用地性质, @地块面积,
@出让年期, @出让底价, @起竞价, @容积率, @容积率数, @建筑面积, @建筑面积数, @建筑密度, @绿化率, @开发程度,
@备注, @报价增幅, @起始时间, @终止时间, @公告文号, @出让公告, @公告类型, @示意图, @成交与否, @成交价,
@成交时间, @x, @y, @z, @jgxz, @users, @ip, @sj, @上报否, @产业门类, @所属区
WHILE ( @@fetch_status = 0 )
BEGIN
SELECT @queryCount = COUNT(*)
FROM [tdxx_bak].[dbo].[gpcr_land]
WHERE id = @id
IF @queryCount = 1
BEGIN
UPDATE [tdxx_bak].[dbo].[gpcr_land]
SET id = @id ,
地块编号 = @地块编号 ,
地块名称 = @地块名称 ,
地块座落 = @地块座落 ,
用地性质 = @用地性质 ,
地块面积 = @地块面积 ,
出让年期 = @出让年期 ,
出让底价 = @出让底价 ,
起竞价 = @起竞价 ,
容积率 = @容积率 ,
容积率数 = @容积率数 ,
建筑面积 = @建筑面积 ,
建筑面积数 = @建筑面积数 ,
建筑密度 = @建筑密度 ,
绿化率 = @绿化率 ,
开发程度 = @开发程度 ,
备注 = @备注 ,
报价增幅 = @报价增幅 ,
起始时间 = @起始时间 ,
终止时间 = @终止时间 ,
公告文号 = @公告文号 ,
出让公告 = @出让公告 ,
公告类型 = @公告类型 ,
示意图 = @示意图 ,
成交与否 = @成交与否 ,
成交价 = @成交价 ,
成交时间 = @成交时间 ,
x = @x ,
y = @y ,
z = @z ,
jgxz = @jgxz ,
users = @users ,
ip = @ip ,
sj = @sj ,
上报否 = @上报否 ,
产业门类 = @产业门类 ,
所属区 = @所属区
WHERE id = @id
UPDATE [tdxx_bak].[dbo].[land]
SET isexsit = 0
WHERE id = @id
END
ELSE
BEGIN
INSERT INTO [tdxx_bak].[dbo].[gpcr_land]
VALUES ( @id, @地块编号, @地块名称, @地块座落, @用地性质, @地块面积, @出让年期,
@出让底价, @起竞价, @容积率, @容积率数, @建筑面积, @建筑面积数, @建筑密度,
@绿化率, @开发程度, @备注, @报价增幅, @起始时间, @终止时间, @公告文号,
@出让公告, @公告类型, @示意图, @成交与否, @成交价, @成交时间, @x, @y,
@z, @jgxz, @users, @ip, @sj, @上报否, @产业门类, @所属区 )
UPDATE [tdxx_bak].[dbo].[land]
SET isexsit = 0
WHERE id = @id
END
FETCH NEXT FROM STOCKORDER_CUR INTO @id, @地块编号, @地块名称, @地块座落,
@用地性质, @地块面积, @出让年期, @出让底价, @起竞价, @容积率, @容积率数, @建筑面积, @建筑面积数,
@建筑密度, @绿化率, @开发程度, @备注, @报价增幅, @起始时间, @终止时间, @公告文号, @出让公告,
@公告类型, @示意图, @成交与否, @成交价, @成交时间, @x, @y, @z, @jgxz, @users,
@ip, @sj, @上报否, @产业门类, @所属区
END
CLOSE STOCKORDER_CUR
DEALLOCATE STOCKORDER_CUR
尝试去掉中间变量,直接(将查询数据组织好)插入到表中
--你完全不用声明那么多变量,看起来眼花缭乱啊--给你一个例子
--A表数据更新B表数据(避免中间变量,看起来更清晰直观,而且很有可能避免刚才的报错)
update Table1 set Table1.ID=TABLE2.ID
from TABLE2
where Table1.ID=TABLE2.ID--试着修改你的存储过程,直接用数据源表更新目的表
from TABLE2
where Table1.ID=TABLE2.ID这样貌似无法使用游标吧,我需要得到id做判断的,我一一检查过了,声明变量类型应该和数据库是一样的,没有问题
还是不要中间变量,问题总是有办法解决的。用临时表试试看,把中间结果存放在临时表中,用临时表和目的表关联我做做demo试试
if @queryCount =1 --就从这开始,将结果写入临时表
--这里弄严谨点,判断#temp1 存在就删除,我就不写了
select * into #temp1 from [tdxx_bak].[dbo].[gpcr_land] WHERE id = @id
--用临时表关联[tdxx_bak].[dbo].[gpcr_land]做更新 --试试看……
DECLARE @出让公告 IMAGE
DECLARE @示意图 IMAGE
变量类型的问题,我想问的是在不见临时表的情况下,可以把变量的类型改为什么类型
AS
DECLARE @queryCount nvarchar(50)
DECLARE @id int
DECLARE @地块编号 nvarchar(50)
DECLARE @地块名称 nvarchar(50)
DECLARE @地块座落 nvarchar(100)
DECLARE @用地性质 nvarchar(50)
DECLARE @地块面积 float
DECLARE @出让年期 nvarchar(50)
DECLARE @出让底价 int
DECLARE @起竞价 int
DECLARE @容积率 nvarchar(50)
DECLARE @容积率数 float
DECLARE @建筑面积 nvarchar(50)
DECLARE @建筑面积数 float
DECLARE @建筑密度 nvarchar(50)
DECLARE @绿化率 nvarchar(50)
DECLARE @开发程度 nvarchar(50)
DECLARE @备注 nvarchar(200)
DECLARE @报价增幅 int
DECLARE @起始时间 datetime
DECLARE @终止时间 datetime
DECLARE @公告文号 nvarchar(50)
DECLARE @出让公告 nvarchar(max)
DECLARE @公告类型 nvarchar(50)
DECLARE @示意图 nvarchar(max)
DECLARE @成交与否 nvarchar(1)
DECLARE @成交价 int
DECLARE @成交时间 datetime
DECLARE @x smallint
DECLARE @y smallint
DECLARE @z nvarchar(50)
DECLARE @jgxz nvarchar(1)
DECLARE @users nvarchar(50)
DECLARE @ip nvarchar(50)
DECLARE @sj datetime
DECLARE @上报否 nvarchar(1)
DECLARE @产业门类 nvarchar(100)
DECLARE @所属区 nvarchar(50)
DECLARE STOCKORDER_CUR cursor for
SELECT * FROM [tdxx_bak].[dbo].[land] where isexsit = 1
open STOCKORDER_CUR
fetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
while(@@fetch_status = 0)
BEGIN
select @queryCount=count(*) from [tdxx_bak].[dbo].[gpcr_land] where id = @id
if @queryCount =1
BEGIN
UPDATE [tdxx_bak].[dbo].[gpcr_land] set id=@id,地块编号=@地块编号,地块名称=@地块名称,地块座落=@地块座落,用地性质=@用地性质,
地块面积=@地块面积,出让年期=@出让年期,出让底价=@出让底价,起竞价=@起竞价,容积率=@容积率,容积率数=@容积率数,建筑面积=@建筑面积,建筑面积数=@建筑面积数,建筑密度=@建筑密度,
绿化率=@绿化率,开发程度=@开发程度,备注=@备注,报价增幅=@报价增幅,起始时间=@起始时间,终止时间=@终止时间,公告文号=@公告文号,出让公告=@出让公告,公告类型=@公告类型,
示意图=@示意图,成交与否=@成交与否,成交价=@成交价,成交时间=@成交时间,x=@x,y=@y,z=@z,jgxz=@jgxz,users=@users,ip=@ip,sj=@sj,上报否=@上报否,产业门类=@产业门类,所属区=@所属区
where id=@id
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
END
else begin
insert into [tdxx_bak].[dbo].[gpcr_land] values(@id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区 )
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
end
fetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
END
close STOCKORDER_CUR
deallocate STOCKORDER_CUR
第 25 行: 'max' 附近有语法错误。
消息 170,级别 15,状态 1,过程 dataexchangepro,第 27 行
第 27 行: 'max' 附近有语法错误。
消息 137,级别 15,状态 1,过程 dataexchangepro,第 48 行
必须声明变量 '@出让公告'。
消息 137,级别 15,状态 2,过程 dataexchangepro,第 57 行
必须声明变量 '@出让公告'。
消息 137,级别 15,状态 2,过程 dataexchangepro,第 66 行
必须声明变量 '@出让公告'。
消息 137,级别 15,状态 1,过程 dataexchangepro,第 72 行
必须声明变量 '@出让公告'。
CREATE PROCEDURE dataexchangepro
AS
DECLARE @queryCount nvarchar(50)
DECLARE @id int
DECLARE @地块编号 nvarchar(50)
DECLARE @地块名称 nvarchar(50)
DECLARE @地块座落 nvarchar(100)
DECLARE @用地性质 nvarchar(50)
DECLARE @地块面积 float
DECLARE @出让年期 nvarchar(50)
DECLARE @出让底价 int
DECLARE @起竞价 int
DECLARE @容积率 nvarchar(50)
DECLARE @容积率数 float
DECLARE @建筑面积 nvarchar(50)
DECLARE @建筑面积数 float
DECLARE @建筑密度 nvarchar(50)
DECLARE @绿化率 nvarchar(50)
DECLARE @开发程度 nvarchar(50)
DECLARE @备注 nvarchar(200)
DECLARE @报价增幅 int
DECLARE @起始时间 datetime
DECLARE @终止时间 datetime
DECLARE @公告文号 nvarchar(50)
DECLARE @出让公告 image
DECLARE @公告类型 nvarchar(50)
DECLARE @示意图 image
DECLARE @成交与否 nvarchar(1)
DECLARE @成交价 int
DECLARE @成交时间 datetime
DECLARE @x smallint
DECLARE @y smallint
DECLARE @z nvarchar(50)
DECLARE @jgxz nvarchar(1)
DECLARE @users nvarchar(50)
DECLARE @ip nvarchar(50)
DECLARE @sj datetime
DECLARE @上报否 nvarchar(1)
DECLARE @产业门类 nvarchar(100)
DECLARE @所属区 nvarchar(50)
DECLARE STOCKORDER_CUR cursor for
SELECT * FROM [tdxx_bak].[dbo].[land] where isexsit = 1
open STOCKORDER_CURfetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 ,
--
--@出让公告 ,
@公告类型 ,
--
--@示意图,
@成交与否,
@成交价 ,
@成交时间 ,
@x ,
@y ,
@z ,
@jgxz ,
@users ,
@ip ,
@sj ,
@上报否 ,
@产业门类 ,
@所属区
while(@@fetch_status = 0)
BEGIN
select @queryCount=count(*) from [tdxx_bak].[dbo].[gpcr_land] where id = @id
/**************************************/
if object_id('tempdb..#temp1') is not null
begin
drop table #temp1
end
SELECT * INTO #temp1 from [tdxx_bak].[dbo].[gpcr_land] where id = @id
/**************************************/
if @queryCount =1
BEGIN
UPDATE [tdxx_bak].[dbo].[gpcr_land] set id=@id,地块编号=@地块编号,地块名称=@地块名称,地块座落=@地块座落,用地性质=@用地性质,
地块面积=@地块面积,出让年期=@出让年期,出让底价=@出让底价,起竞价=@起竞价,容积率=@容积率,容积率数=@容积率数,建筑面积=@建筑面积,建筑面积数=@建筑面积数,建筑密度=@建筑密度,
绿化率=@绿化率,开发程度=@开发程度,备注=@备注,报价增幅=@报价增幅,起始时间=@起始时间,终止时间=@终止时间,公告文号=@公告文号,
--用temp1的数据更新
--出让公告=@出让公告,
出让公告=#temp1.出让公告
--示意图=@示意图,
示意图=#temp1.示意图,
公告类型=@公告类型,
成交与否=@成交与否,
成交价=@成交价,
成交时间=@成交时间,x=@x,y=@y,z=@z,jgxz=@jgxz,users=@users,ip=@ip,sj=@sj,上报否=@上报否,产业门类=@产业门类,所属区=@所属区
from #temp1
where [tdxx_bak].[dbo].[gpcr_land].ID=#temp1.ID and [tdxx_bak].[dbo].[gpcr_land].ID=@id
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
END
else
begin
--这个插入数据的数据可以从#temp1中取,你自己写吧,一定要动手试试,光看不行
insert into [tdxx_bak].[dbo].[gpcr_land] values(@id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 , @出让公告 ,@公告类型 ,
@示意图,@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区 )
update [tdxx_bak].[dbo].[land] set isexsit=0 where id=@id
end
fetch next from STOCKORDER_CUR into @id,@地块编号,@地块名称,@地块座落,@用地性质,
@地块面积, @出让年期 ,@出让底价 , @起竞价 ,@容积率 ,@容积率数 ,@建筑面积 ,@建筑面积数 ,@建筑密度 ,
@绿化率 ,@开发程度 ,@备注,@报价增幅 ,@起始时间 ,@终止时间 ,@公告文号 ,
--拿掉这两个image字段
--@出让公告 ,
@公告类型 ,
--@示意图,
@成交与否,@成交价 ,@成交时间 ,@x ,@y ,@z , @jgxz ,@users ,@ip ,@sj ,@上报否 ,@产业门类 , @所属区
ENDclose STOCKORDER_CUR
deallocate STOCKORDER_CUR试试看,你再改一下,我里面都注释了,再不行真远程你了!