请教:动态语句返回并输出一个表中的行数

icbm 2010-08-20 04:19:20
declare
v_num number;
begin
execute immediate 'select count(*) from tab' into v_num;
dbms_output.put_line(v_num);
end;
/

以上是Oracle中的语句,即查询tab表中的行数,并把此行数(标量)存进v_num变量,并打印输出。

请问在SQL Server中如何写语句?

declare @v_num int
sp_executesql 'select ... from tab' , ???
print @v_num

谢谢。
...全文
157 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
王向飞 2010-08-20
  • 打赏
  • 举报
回复
icbm 2010-08-20
  • 打赏
  • 举报
回复
to wxf163 (小小菜) 。

谢谢你。不好意思,结贴的时候,你的贴子我还没看到。
jmsail 2010-08-20
  • 打赏
  • 举报
回复
declare @iNum int
declare @strSql nvarchar(max)
set @strSql=N'select @iNum=count(1) from table'
exec sp_executesql ''
print @iNum
王向飞 2010-08-20
  • 打赏
  • 举报
回复
declare @SQLString nvarchar(200)
declare @ParmDefinition nvarchar(200)
/* Build the SQL string one time. */
SET @SQLString =
N'set @v_num =(SELECT count(1) FROM TB) ';
/* Specify the parameter format one time. */
SET @ParmDefinition = N'@v_num int output';
/* Execute the string with the first parameter value. */
DECLARE @v_num int;
EXECUTE sp_executesql @SQLString, @ParmDefinition ,@v_num output
/* Execute the same string with the second parameter value. */
select @v_num
cjzm83 2010-08-20
  • 打赏
  • 举报
回复

declare @v_num int
exec sp_executesql N'select @cnt = count(*) from bs_person' ,N'@cnt int output ',@cnt = @v_num output
print @v_num

百年树人 2010-08-20
  • 打赏
  • 举报
回复
declare @v_num int
declare @sql nvarchar(1000)
set @sql=N'select @v_num=count(1) from tb'
exec sp_executesql @sql,N'@v_num int output',@v_num output;
print @v_num

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧