取出exec()执行的结果表

http://www.cnblogs.com/yansheng9988/archive/2008/03/06/1094099.html

ALTER PROCEDURE [dbo].[Test] 
AS
DECLARE @show_num varchar(9);
Declare @abc nvarchar(200)
BEGIN
-- 方法一
set @abc = 'select count(*) from users';
exec ('declare mycur cursor for ' + @abc)

open mycur;
fetch next from mycur into @show_num;
close mycur; 
select @show_num;
-- 方法二 
set @abc = 'select @a = count(*) from users';
exec sp_executesql @abc,N'@a int output',@show_num output
print(@show_num);
 
--方法3
Insert #TempTable Exec(SQLScript)
select #TempTable

可以将存储过程的返回结果赋值给临时表,

首先创建临时表:create table #temp(f1 int,...)

将存储过的结果插入到临时表:

insert into #temp1 execute sp_getsomething @para1, @para2



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 不是的,子线程的槽函数不会在子线程的`exec()`函数中执行。`exec()`函数只是启动了子线程的事件循环,负责处理事件队列中的事件。当一个信号被发射时,Qt会将该信号添加到事件队列中。当事件循环处理到该信号时,它会调用相应的槽函数执行。因此,槽函数执行的线程取决于该槽函数所属的对象的线程。如果该对象是在主线程中创建的,则槽函数会在主线程执行;如果该对象是在子线程中创建的,则槽函数会在该子线程中执行。 ### 回答2: 子线程的槽函数不会在子线程的exec()函数执行。槽函数是被连接到发出信号的对象上的,当信号被发出时,与之连接的槽函数将被调用。无论是在主线程还是子线程中,信号和槽机制都是基于事件循环的。 在Qt中,子线程一般是通过继承QThread类或者使用QtConcurrent框架创建的,可以通过start()函数来启动线程的执行。子线程的exec()函数是在线程对象的run()函数中被调用的,默认情况下会进入事件循环并处理事件。 当子线程的槽函数被连接到某个信号时,当信号发出时,槽函数会被放入到对应的线程的事件队列中。如果是子线程的槽函数被连接到子线程中的信号,当子线程的事件循环在exec()函数中运行时,事件循环会从队列中取出槽函数并执行。所以,槽函数的执行是在子线程的事件循环中被调度执行的,而不是在子线程的exec()函数中执行。 需要注意的是,默认情况下,槽函数是在信号发送者所在的线程上执行的。如果希望槽函数在特定线程(例如子线程)中执行,可以使用Qt的线程间通信机制,例如使用QMetaObject::invokeMethod()或者QThread::moveToThread()等方法来实现。这样可以确保槽函数在指定的线程中执行,而不是在发信号的线程或其他线程执行。 ### 回答3: 在Qt中,子线程的槽函数不会在子线程的exec()函数执行。在Qt中,每个线程都有一个事件循环,用于处理事件和消息。主线程的事件循环在QApplication或QCoreApplication的exec()函数中执行,而子线程的事件循环在QThread的exec()函数中执行。 当在子线程创建QObject对象并将其移动到该子线程时,该对象的槽函数只能在该子线程的事件循环中执行。当在子线程中调用QThread的exec()函数时,该子线程会进入事件循环并开始处理事件。 子线程的槽函数只有在子线程的事件循环中才会被执行。当子线程接收到一个事件时,事件被发送给QObject对象并触发相应的槽函数执行。这意味着子线程的槽函数不会被自动执行,而是需要有事件触发才能执行。 需要注意的是,当在子线程中创建QObject对象并将其移动到该子线程时,必须要调用QThread的start()函数启动子线程的事件循环才能使子线程的槽函数生效。 因此,子线程的槽函数并不会在子线程的exec()函数执行,而是在子线程的事件循环中被触发和执行

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值