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. ...
随机推荐
- 〖Linux〗让Kubuntu的“启动栏”与Win7“任务栏”的界面和功能一样
先来展示一下我的桌面效果图: === 是否发现这与Windows 7任务栏非常相似?哈哈- === 背景: 玩久了Unity,想换个品味,就把Ubuntu安装了KDE桌面,发现甚是不错: 这里教大家怎 ...
- 【Linux】特殊符号$$,$#,$?等解释
在linux系统中有很多的特殊符号,他们具有特殊的意义 $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell的第一个参数 $2 是传递给该shell的第二个参数 $@ 是传递 ...
- mysql计算时间差值,单位分钟数
TIMESTAMPDIFF(MINUTE, 开始时间, 结束时间) as 时间差(单位:分钟数) TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr ...
- java 多重循环
//http://www.weixueyuan.net/view/6311.html //多重循环 import java.util.Scanner; public class Test16{ pub ...
- RHEL7体验KVM虚拟机
KVM是基于内核2.6+的虚拟化,前提是硬件须支持虚拟化! Red Hat Enterprise Virtualization-Management,即RHEV-M(管理多个RHEV-H系统) 虚拟化 ...
- 使用maven编译Java项目
摘要: 综述 本文演示了用Maven编译Java项目 需要 时间:15分钟 文本编辑器或者IDE JDK 6 或者更高版本 创建项目 本例主要为了展示Maven,所以Java的项目力求简单. 创建项目 ...
- QQ登录整合/oauth2.0认证-03-对第二节的代码改进
---------------------------目录---------------------------------- QQ登录整合/oauth2.0认证-01-申请appkey和appid ...
- (原)ubuntnu中anaconda的g++提示crtbeginS.o:unrecognized relocation
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6950263.html 自从使用anaconda后,方便是方便了,也遇到了很多蛋疼的问题. 这次使用an ...
- iOS热更新技术被苹果官方警告?涉及到RN、Weex、JSPatch
本文为转载文章 故事背景: 这两天,不少iOS开发群都炸窝了,原因是部分iOS开发者收到了苹果的警告邮件: 有开发者质疑可能是项目中使用了JSPatch.weex以及ReactNative等热更新技术 ...
- linux解决“XXX is not in the sudoers file”错误
问题:我想在我的Linux系统上使用sudo来运行一些特权命令,然而当我试图这么做时,我却得到了"[我的用户名] is not in the sudoers file. This incid ...