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

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

  • 相关阅读:
    LeetCode Binary Tree Inorder Traversal
    LeetCode Populating Next Right Pointers in Each Node
    LeetCode Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode Reverse Linked List II
    LeetCode Populating Next Right Pointers in Each Node II
    LeetCode Pascal's Triangle
    Palindrome Construct Binary Tree from Preorder and Inorder Traversal
    Pascal's Triangle II
    LeetCode Word Ladder
    LeetCode Binary Tree Zigzag Level Order Traversal
  • 原文地址:https://www.cnblogs.com/shortboy/p/3860724.html
Copyright © 2011-2022 走看看