一个开源的Asp.net2.0博客系统
- declare @idoc int -- 声明xml文档指针
- declare @doc varchar(1000) --xml文档文本
- declare @table table(cell1 varchar(20),cell2 varchar(20)) --临时表
- set @doc = '
- <root>
- <row><cell1>adf</cell1><cell2>234</cell2></row>
- <row><cell1>adf</cell1><cell2>234</cell2></row>
- </root>
- '
- --打开xml文档
- EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
- --选择xml内容并插入临时表
- insert @table
- select * FROM OPENXML (@idoc, '/root/row',2 )
- WITH (cell1 varchar(20), cell2 varchar(20))
- EXEC sp_xml_removedocument @idoc --关闭xml文档指针
- declare @cell1 varchar(20),@cell2 varchar(20)
- --声明游标
- declare tcursor cursor for select * from @table
- --打开游标
- open tcursor
- --开始事务
- BEGIN TRANSACTION modifyData WITH MARK N'some remarks';
- fetch next from tcursor into @cell1,@cell2
- while @@FETCH_STATUS = 0 begin
- print @cell1 + @cell2
- fetch next from tcursor into @cell1,@cell2
- end
- --提交事务
- COMMIT TRANSACTION modifyData;
- --关闭游标
- close tcursor
- deallocate tcursor