use whinfo2004DECLARE @txxid int,@personid int,@lxfs intDECLARE authors_cursor CURSOR FOR
SELECT id,personid,lxfsid
FROM dbo.scl_txx
WHERE (personid <> - 1)OPEN authors_cursor FETCH NEXT FROM authors_cursor
INTO @txxid, @personid, @lxfs
--按理说这里不需要加这段处理,但是不加就执行不过去
print @txxid
if (@lxfs=null)
BEGIN
update dbo.scl_txx set lxfsid='-1'
where id=@txxid
END
----
WHILE (@@FETCH_STATUS = 0 )BEGIN
FETCH NEXT FROM authors_cursor
INTO @txxid, @personid, @lxfs print @txxidIF (@lxfs=null)
BEGIN
UPDATE dbo.scl_txx SET lxfsid=-1
WHERE id=@txxid
ENDEND 在sql2005SP2环境下,执行成功,但是数据并没发生变化,高手看看那里出错了,谢谢!
SELECT id,personid,lxfsid
FROM dbo.scl_txx
WHERE (personid <> - 1)OPEN authors_cursor FETCH NEXT FROM authors_cursor
INTO @txxid, @personid, @lxfs
--按理说这里不需要加这段处理,但是不加就执行不过去
print @txxid
if (@lxfs=null)
BEGIN
update dbo.scl_txx set lxfsid='-1'
where id=@txxid
END
----
WHILE (@@FETCH_STATUS = 0 )BEGIN
FETCH NEXT FROM authors_cursor
INTO @txxid, @personid, @lxfs print @txxidIF (@lxfs=null)
BEGIN
UPDATE dbo.scl_txx SET lxfsid=-1
WHERE id=@txxid
ENDEND 在sql2005SP2环境下,执行成功,但是数据并没发生变化,高手看看那里出错了,谢谢!
if (@lxfs=null)
BEGIN
update dbo.scl_txx set lxfsid='-1'
where id=@txxid
END以上放在WHILE (@@FETCH_STATUS = 0 )之后
將if (@lxfs=null)改為if (@lxfs is null)DECLARE @NULL VARCHAR(10)
SET @NULL = NULLIF (@NULL IS NULL)
PRINT 'IS NULL'
ELSE
PRINT 'NOT NULL'+@NULL
GO
DECLARE @txxid int,@personid int,@lxfs intDECLARE authors_cursor CURSOR FOR
SELECT id,personid,lxfsid
FROM dbo.scl_txx
WHERE (personid <> - 1)OPEN authors_cursor FETCH NEXT FROM authors_cursor
INTO @txxid, @personid, @lxfs WHILE (@@FETCH_STATUS=0)
BEGIN
if (@lxfs IS null)
BEGIN
update dbo.scl_txx set lxfsid='-1'
where id=@txxid
END IF (@lxfs IS null)
BEGIN
UPDATE dbo.scl_txx SET lxfsid=-1
WHERE id=@txxid
END FETCH NEXT FROM authors_cursor
INTO @txxid, @personid, @lxfs
END
CLOSE authors_cursor
DEALLOCATE authors_cursor