怎么写存储过程sql server(SqlServer存储过程实现及拼接sql的注意点)
类别:数据库 浏览量:1201
时间:2022-03-29 10:02:06 怎么写存储过程sql server
SqlServer存储过程实现及拼接sql的注意点这里我昨天碰到的问题就是执行一段根据变量tableName对不同的表进行字段状态的更改。由于服务器原因,我不能直接在数据访问层写SQL,所以只好抽离出来放到存储过程里面。
这里就出现了一个问题,我花费了好久才弄通!
其实就是很简单的一个SQL语句:
update table1 set field1=value1,field2 = value2 where id = id
我写成什么样子了呢?大家且看:
declare @tableName nvarchar(50), @field1 int, @field2 nvarchar, @id int declare @sql nvarchar(max) set @sql = 'update '+@tableName+' set field1= '+@field1+',field2= '+@field2+' where id='+@id exec @sql
有过这方面经验的同学肯定知道这样写明显是错的,sql会报异常,说无法讲nvarchar转换成int类型
那么这个错误是具体是值什么呢?其实就是说,在拼接sql的时候,这个@sql要是一个字符串类型,所有的变量也都必须用字符串表示,我上面的@field1和@id是int,所以要转化成nvarchar类型,并且是nvarchar类型的变量(字段)必须用单引号括起来;注:在sql中单引号是用两个单引号表示的
所以经过修改,正确的拼接sql代码是:
set @sql='update '+@tableName+ ' set field1='+cast(@field1 as varchar)+',field2='''+@field2+''' where id='+CAST(@id as varchar)
这个问题其实非常简单,但是由于我在SQL方面的知识很是不足,所以在这里记录来巩固自己。
以上所述是小编给大家介绍的SqlServer存储过程实现及拼接sql的注意点,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
您可能感兴趣
- sqlserver实现登录注册(Sqlserver创建用户并授权的实现步骤)
- sqlserver两表查询语句格式(sql server实现在多个数据库间快速查询某个表信息的方法)
- sqlserver2016的安装(Sql Server2016 正式版安装程序图解教程)
- sqlserver中根据类型分组(SQL SERVER 分组求和sql语句)
- sqlservercount函数怎么用(Sql Server中Substring函数的用法实例解析)
- sqlserver电脑休眠时断开连接(浅谈sqlserver下float的不确定性)
- sqlserver配置管理器不见了(SQL Server配置管理器无法连接到WMI提供程序)
- 数据库sqlserver定时任务(SQL Server 2005作业设置定时任务)
- sqlserver替换脚本(SQL Server中对数据截取替换的方法详解)
- sqlservercount函数的用法(SQL Server中row_number函数的常见用法示例详解)
- sqlserver日期型数据类型是哪个(SQL Server时间戳功能与用法详解)
- sqlserver 怎么建立触发器(SQL Server:触发器实例详解)
- sqlserver创建带参数的存储过程(SQLServer存储过程实现单条件分页)
- SQLServer日期函数总结案例详解(SQLServer日期函数总结案例详解)
- sqlserver维护计划保存在哪(SQL Server误设置max server memory的处理方法)
- sqlserverselect选择两个参数(SQL SERVER中SELECT和SET赋值相同点与不同点推荐)
- 四川旅游攻略(四川旅游攻略自由行攻略)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
- 哪里可以看熊猫(成都哪里可以看熊猫)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
- 吉林神秘传染链跨省 传染源尚未找到,舒兰 封城(吉林神秘传染链跨省)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
热门推荐
- css的字体大全(CSS 常用中文字体 Unicode 编码表)
- 小程序实现购物车功能前后端代码(小程序实现购物车完整版)
- dedecms怎样实现(dedecms 5.6修改Dedecms提示信息方法)
- python编写的小程序(几个适合python初学者的简单小程序,看完受益匪浅!推荐)
- python图像仿射变换(详解Python计算机视觉 图像扭曲仿射扭曲)
- css如何使用z-index(CSS中的z-index属性基本使用教程)
- docker进入mysql查看路径(Docker 环境运行 Mysql 和开启 Binlog 配置主从同步的设置方法)
- php单例设计方法(php设计模式之单例模式用法经典示例分析)
- docker compose的常用命令(安装docker和docker-compose实例详解)
- python3第三方库手册(使用python3构建文件传输的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9