SQL Server 的动态语句(SQLServer 的String.format用法)(SQLServer的调用SQL占位符的使用)
直接上代码好了:
--建表语句
if exists(select 1 from [你的测试数据库名字].sys.tables where name='TDepartment')
BEGIN print '不存在该数据表,创建后继续操作'
CREATE TABLE [TDepartment](
[t_id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NULL,
[code] [nvarchar](50) NULL
) ON [PRIMARY]
end
else
BEGIN
print '存在该数据库,继续操作'
end
GO
--声明下面使用的变量
declare @depart_name_num int
declare @depart_name_code int
declare @sql nvarchar(225)
declare @convert_num nvarchar(225)
declare @convert_code nvarchar(225)
--
set @depart_name_num=0
set @depart_name_code=0
while(@depart_name_num<10)
begin
--这里是为了转换变化的数字为字符拼接
set @convert_num = 'name:'+CONVERT(nvarchar(225),@depart_name_num)
set @convert_code = 'code:'+CONVERT(nvarchar(225),@depart_name_code)
print '@convert_num'+@convert_num
set @sql = 'insert into TDepartment(name,code) values(@p1,@p2)'
--因为拼接实在太麻烦了。所以才用占位变量
--set @sql = 'insert into [TDepartment](name,code) values(''value:'+@convert_num+''','''+@depart_name_code+''')'
print '@sql:1'+@sql
--这里就相当于java的为占位变量赋值
--@params是指明占位变量的类型,这里的是一行全写那些变量类型
--@p1,@p2是是自定义两边来的。只要上下名称对上。就行。
exec SP_EXECUTESQL
@stmt = @sql ,
@params = N'@p1 as nvarchar(225),@p2 as nvarchar(225)',
@p1 = @convert_num,
@p2 = @convert_code
print '@sql:2'+@sql
set @depart_name_num=@depart_name_num+1
set @depart_name_code=@depart_name_code+1
end
如果你的连数据库名字都没有改的话。就肯定报错的
SQL Server 的动态语句(SQLServer 的String.format用法)(SQLServer的调用SQL占位符的使用)的更多相关文章
- 【转载】SQL Server - 使用 Merge 语句实现表数据之间的对比同步
原文地址:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT ...
- Sql server的Merge语句,源表中如果有重复数据会导致执行报错
用过sql server的Merge语句的开发人员都应该很清楚Merge用来做表数据的插入/更新是非常方便的,但是其中有一个问题值得关注,那就是Merge语句中的源表中不能出现重复的数据,我们举例来说 ...
- SQL server 查看什么语句在使用临时表
SQL server 查询那些语句在使用临时表 最近在日常的性能测试工作中发现,数据库端的IO读写比较大,有规律的2-8M的波动,数据库的版本为 SQL server 2008 sp3. 这些IO操作 ...
- 在SQL Server中实现关系模型的阶梯到级别3的t -SQL DML
在SQL Server中实现关系模型的阶梯到级别3的t -SQL DML 格雷戈里·拉森(Gregory Larsen),2017/08/02(第一次出版:2011 /11/09) 原文链接:http ...
- The thumbprint of same asymmetric key is not same in 'SQL Server Connector for Microsoft Azure Key Vault' 1.0.4.0 and 'SQL Server Connector for Microsoft Azure Key
https://support.microsoft.com/en-us/help/4470999/db-backup-problems-to-sql-server-connector-for-azur ...
- SQL Server在本地计算机上用SSMS(SQL Server Management Studio)登录不上,错误消息:(Microsoft SQL Server, Error: 18456)
今天遇到了一个奇怪的问题,公司目前在SQL Server上都采用AD域账号登录,由于账号人数众多,所以我们建立了一个AD Group(域组),将大家的AD账号加入了这个AD Group,然后我们将这个 ...
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- String.format()用法
package junit.test; import java.util.Date; import java.util.Locale; import org.junit.Test; pub ...
- C#中string.Format 用法详解
这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string. ...
随机推荐
- SpringBoot配置RestTemplate的代理和超时时间
application.properties: #代理设置 proxy.enabled=false proxy.host=192.168.18.233 proxy.port=8888 #REST超时配 ...
- 【物联网智能网关-17】.NET Micro Framework之MDK C++二次开发
.NET Micro Framework虽然好学易用,但是在一些需要实时,需要高性能的应用领域,却有些勉为其难.毕竟.NET Micro Framework上层应用程序由底层CLR(TinyCLR)解 ...
- 修改windows默认的远程连接端口
打开注册表,找到以下路径项,并修改为你想要的端口,重启服务器即可. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Serve ...
- 转:折腾一晚上Bullet及Ogre相关工具的成果 -- 3Ds Max,Maya, blender, GameKit
起始目的很简单,整合Bullet及Ogre,找个能够生成.scene和.bullet文件的建模工具. 折腾一晚上Bullet及Ogre相关的东西,基本上就像爱迪生发明灯泡一样,得出了N个失败的教训,总 ...
- java开发微信模板消息推送
发布时间:2018-12-12 技术:springboot+maven 概述 该demo主要涉及微信模板消息推送功能, 详细 代码下载:http://www.demodashi.com/dem ...
- ios中开始页面做法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...
- C语言中的随意跳转
C语言中有一个很不常用的头文件:setjmp.h. 这个头文件是C语言底层实现的,不像math.h里面的函数都是纯C语言实现的. setjmp.h包含两个函数: longjmp 跳转到某个位置 set ...
- Python函数的静态变量
C语言中,在函数内部可以定义static类型的变量,这个变量是属于这个函数的全局对象.在Python中也可以实现这样的机制. def f(): if not hasattr(f, 'x'): f.x ...
- [Spring学习笔记 6 ] Spring JDBC 详解
项目使用maven管理,pom.xml和项目组织如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
- 网络编程学习笔记一:Socket编程
“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览 ...