游标使用 和sp_executesql动态sql

复制代码
/****** Script for SelectTopNRows command from SSMS  ******/
declare @oid int 
declare @cid int 
declare @tb table(
oid int not null primary key,
cid int  not null

)
declare c cursor for 
SELECT TOP 100 [orderid]
      ,[custid]
    
  FROM [TSQLFundamentals2008].[Sales].[Orders] order by orderid asc
  
  open c
  fetch next from c into @oid,@cid
  while @@FETCH_STATUS=0
  begin
  print @oid
  insert into @tb values(@oid,@oid)
    fetch next from c into @oid,@cid
  end
  close c
  
  deallocate c
  
  select * from @tb
  
  -----动态sql
  select * from Sales.Orders
  
  declare @id int =10250
  declare @cid int  
  declare @sql nvarchar(1000) ='select @cid=custid from sales.orders where orderid=@id'
  exec sp_executesql @sql,N'@id int, @cid int output ',@id,@cid out 
  
 
复制代码

 

posted @   甜菜波波  阅读(413)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示