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

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

  • 相关阅读:
    Java学习(运算符,引用数据类型)
    Java学习(基本语句,语法,变量)
    Java学习(简介,软件安装)
    MySQL连接查询(多表查询)
    MySQL数据约束
    VS code MacOS 环境搭建
    三维空间中xoy平面上特定抛物线的正等测投影解析解的一种求法
    抛物线正等测投影的解析解求法
    抛物线正等测投影数值解的求法
    反向工程“你的使用说明书”小记
  • 原文地址:https://www.cnblogs.com/shortboy/p/3860724.html
Copyright © 2011-2022 走看看