zoukankan      html  css  js  c++  java
  • 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

     如果你的连数据库名字都没有改的话。就肯定报错的

  • 相关阅读:
    LoadRunner使用记录
    JVM&GC详解
    常用网络操作命令
    IP地址、子网掩码、网络号、主机号、网络地址、主机地址详解
    交换机配置记录
    持续集成与自动化部署---代码流水线管理及Jenkins和gitlab集成
    Git的安装与使用详解
    性能测试---问题记录
    性能测试---实战篇
    c++实用快捷键
  • 原文地址:https://www.cnblogs.com/shortboy/p/3860724.html
Copyright © 2011-2022 走看看