sp_executesql的用法

SQLSERVER中exec 与 exec sp_executesql 的用法及比较 SQLSERVER 提供 exec 与 exec sp_executesql (2005版本开始)执行动态sql。 阅读详情

上次写的存储过程,需要从字符串的执行里面返回参数,用到了sp_executesql,如果只用exec是不行的。记录一下:
---------------------------------------
CREATE PROCEDURE dbo.T_SendToHigher
@TableName varchar(255),
@ItemId varchar(4),
@ItemContent varchar(50),
@ItemFlag char(1)
/*
插入上传的数据到表中
*/
 AS
declare @Sql nvarchar(255)
declare @Flag nchar(1)

set @Sql=N'select @Flag=ItemFlag from '+@TableName+' where ItemId='+@ItemId+''
exec sp_executesql @sql,N'@Flag nchar(1) out',@Flag out

/*
如果上传数据在上级服务器上面没有时,进行插入操作
*/
if(@Flag = null)
begin
set @Sql="insert into "+@TableName+" values('"+@ItemId+"','"+@ItemContent+"','"+@ItemFlag+"')"
exec(@Sql)
end
/*
如果上传数据在上级服务器已经存在,但没有修改,执行更新操作
*/
if(@Flag = '0')
begin
set @Sql="update "+@TableName+" set ItemContent="+@ItemContent+",ItemFlag='0' where ItemId="+@ItemId
exec(@Sql)
end
GO

------------------------------------------------------------------------------------------------------------------------------

这个还有点游标的简单使用:
CREATE PROCEDURE Trans_SyncTableUploadState
/*
检查需要上传的表中,是否有需要上传的数据。有的话在publicinfo表中把该表对应的UploadState改为null
      publicinfo表中:
      UploadState 为null 时表示该表中有数据需要上传
      UploadState 为1时表示改表中没有数据需要上传
     
      publicinfo表中记录的需要上传的表中的UploadInfo字段:
      UploadState 为null时表示该条数据需要上传
      UploadInfoState 为1时表示该条数据不需要上传
*/
 AS
declare @TableName varchar(50)
declare @Sql nvarchar(200)
declare @IsNeedToTrans char(1)

declare TableName_Cursor cursor
for select SmallClassName from PublicInfo where BigClassNo=18
open TableName_Cursor
fetch next from TableName_Cursor into @TableName
while @@Fetch_Status = 0
begin
set @Sql=N'select @IsNeedToTrans=count(*) from '+@TableName+' where upload_state is null'
exec sp_executesql @Sql,N'@IsNeedToTrans char(1) out',@IsNeedToTrans out

if(@IsNeedToTrans != '0')
begin
update PublicInfo set upload_State=null where current of TableName_Cursor
end
else if(@IsNeedToTrans = '0')
begin
update PublicInfo set upload_State=1 where current of TableName_Cursor
end

fetch next from TableName_Cursor into @TableName
end
close TableName_Cursor
deallocate TableName_Cursor
GO

ADS中HB仿真自动优化报错问题解决心得 在ADS HB仿真中自动优化出现报错被强制暂停,解决方法如下 阅读详情

相关推荐

大模型蒸馏实战:让小模型获得大模型的知识

本文为初学者提供了一份大模型蒸馏实战指南,通过情感分析任务演示如何将 BERT 的知识迁移到轻量级 TextCNN。文章结合原理图解与 PyTorch 代码,详解软标签生成、温度调节和双损失设计等核心概念,并对比蒸馏前后的性能差异(准确率提升 4.6%,推理速度达 1200 句 / 秒)。内含可直接运行的代码片段、训练技巧及常见问题解答,助力开发者快速掌握模型压缩核心技术,实现工业级部署效率。适合 NLP 入门者学习实践。

1368

SQL 数据库引擎语句 sp_executesql 的使用介绍(Transact-SQL)

sp_executesql (Transact-SQL)

weixin_41120428的博客 2626

Arduino-Pico:用Arduino生态开发树莓派RP2040双核与PIO实战

在嵌入式开发领域,微控制器编程是连接硬件与软件的核心技能。其原理在于通过编写代码直接控制处理器与外设,实现特定功能。掌握这项技术能极大提升开发效率,降低硬件操作门槛,广泛应用于物联网、智能硬件和自动化控制等场景。本文聚焦于如何利用Arduino这一广受欢迎的生态,来开发树莓派RP2040微控制器。RP2040以其双核Cortex-M0+架构和独特的可编程IO(PIO)硬件而著称,性能强大。通过第三方Arduino核心(arduino-pico),开发者可以沿用熟悉的Arduino语法和库,快速调用双核并行处

weixin_26905423的博客 381

sp_executesql

sp_executesql的用法sp_executesql介绍和使用 示例一 declare @count int,@tableName nvarchar(50),@SQLString nvarchar(max),@proid int,@id int,@ParmDefinition nvarchar(max); set @tableName='table27'; set @proid=433...

vvull的博客 1581

libcrypto.so.10(OPENSSL_1.0.2)(64bit) is needed by erlang-22.0.7-1.el7.x86_64

今天安装Rabbitmq的 erlang-22.0.7-1.el7.x86_64.rpmrpm包时遇到了这个坑,害找到说是不容易;错误信息在下面; [root@iz2zef7u84js1qeeq00ewwz RabbitMQ]# rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm warning: erlang-22.0.7-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY error:

qq_45782349的博客 5782

【学习总结】飞跨电容三电平boost拓扑发波分析与matlab仿真

正常工作时,飞跨电容的电压大约控制在输出电压的一半,降低了开关器件的耐受电压。

晞子的技术札记 1万+

sp_executesql_sp_executesql存储过程简介和示例

sp_executesql The sp_executesql is a built-in stored procedure in SQL Server that enables to execute of the dynamically constructed SQL statements or batches. Executing the dynamically constructe...

culuo4781的博客 7581

一。CST 电路 微带低通滤波器设计练习 I

CST 电路和系统软件功能还是比较强的,我们一起一步一步学习,一起进步。 这个例子出现在CST的电路和系统软件功能(Circuit Simulation & SAM (System Assembly and Modeling) )介绍资料中。本文是用CST2021建模操作仿真到,不同版本在视觉和结果上稍有不同。 利用电路模块可以很快很准确地建立3D微带平面电路,用于仿真滤波器、功分器、巴伦等等。

麦克斯韦信徒的博客 3236

sqlserver 中EXEC和sp_executesql使用介绍

sqlserver 中EXEC和sp_executesql用法区别整理

neweastsun的专栏 9549

交货单冲销发货过账的正确姿势:用 VL09 与 ABAP 批量反冲 Goods Issue

摘要 本文详细解析了SAP系统中VL09事务码的技术实现与业务应用。VL09用于反冲发货的货物移动,通过标准冲销路径(移动类型602冲销601)确保单据链路一致、状态机正确回退和业务规则生效。文章对比了经典VL09与Fiori应用在不同SAP产品形态中的位置,并针对STO场景提供了ME23N验证方法。核心内容包括WS_REVERSE_GOODS_ISSUE函数模块的调用要点、必须COMMIT的原因(SAP LUW机制),以及处理Handling Unit等限制条件的注意事项。最后给出了将VL09工程化的项目

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 590

【Claude Code 源码解析教程】第4章:QueryEngine 查询引擎

本章深入解析 Claude Code 的核心引擎——QueryEngine,它是整个对话系统的"心脏",负责管理会话状态、消息处理流程和多轮对话支持。

rengang66的博客 269

Statement 的 execute(sql) 方法的返回值

Statement 的  execute(sql) 方法的返回值  true   if   the   first   result   is   a   ResultSet   object;    false   if   it   is   an   update   count   or   there   are   no   resultsTop//  如果 exe

天下无双 1万+

32、通用处理器通信平台发展与5G开源社区技术解析

本文探讨了基于通用处理器(GPP)的通信平台在5G技术中的发展现状与挑战,详细介绍了多个开源平台和硬件架构,并分析了软件加速方法和未来发展方向。文章指出,尽管GPP具有灵活性和开放性优势,但在实时信号处理和功耗等方面仍存在瓶颈,需要通过核心技术研发、标准化协作和应用拓展推动5G技术的实际应用。

orange的博客 128

SQL:exec sp_executesql 用法

--這種是無效的過程 declare @sql nvarchar(500), @where nvarchar(500),@i nvarchar(64),@p nvarchar(50),@id int set @id=5 set @sql='select '+@p+'=AreaCode from AdministrativeAreaList where AreaID='+cast(@id...

weixin_30701575的博客 1006

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

mssql中sp_executesql的用法

上图:  

9年.NET撸码员,月薪5K 360

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

求解exec sp_executesql的用法讲解.

求解exec sp_executesql的用法讲解.

C# 移动手机应用 1145

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SP_EXECUTESQL 的用法

看到同事的存储存储过程使用 SP_EXECUTESQL 来执行字符串,感觉有点复杂,所有做了几次尝试,总算弄懂怎么个用法了。 语法如下: sp_executesql [@stmt =] stmt[ {, [@params =] N'@parameter_name data_type [,...n]' } {, [@param1 =] 'value1' [,...n...

weixin_30539835的博客 123

sp_executesql 用法

--1.declare @var1 varchar(20)set @var1=whiteselect * from authors where au_lname =  @var1--2.declare @var1 varchar(20)set @var1=whitedeclare @s nvarchar(4000)set @s=select * from authors where

guxinglei 的专栏 2240

exec sp_executesql 用法

DECLARE @IntVariable int;DECLARE @SQLString nvarchar(500);DECLARE @ParmDefinition nvarchar(500);/* Build the SQL string one time.*/SET @SQLString =NSELECT * FROM AdventureWork

3462
上一篇: 捕获放在datagrid的footer里面的dropdownlist的事件
下一篇: 获取单独表的结构,列名,列类型和长度
Bmonkey
博客等级 码龄24年 6粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值