当前位置:  开发笔记 > 数据库 > 正文

通过变量插入多行

如何解决《通过变量插入多行》经验,为你挑选了1个好方法。

实际上我想在表格中插入多行.表的结构是

Create Table tbl_username
(id int  autoincrement,
username varchar(100),
Primary key(id))

我试图插入多行像

Declare @s as varchar(100)
set @s='(''name1''),(''name2'')'
insert into tbl_username(username)values @s;

但我把输出作为

id        username
1         (''name1''),(''name2'')

实际上我需要的输出是

id          username
1           name1
2           name2

我怎样才能做到这一点?



1> Lock..:

使用动态SQL

Declare @s as varchar(100)
Declare @sql as varchar(max)
set @s='(''name1''),(''name2'')'
set @sql = 'insert into tbl_username(username) values ' + @s;

execute(@sql);

但是我会尽可能避免使用动态SQL.如果您的值不在变量中,那么执行此操作的标准方法是:

INSERT INTO tbl_username(username) values ('name1'),('name2')

要么

INSERT INTO tbl_username(username) values ('name1')
INSERT INTO tbl_username(username) values ('name2')

如果可能,请选择上述之一,而不是最初提到的动态选项.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有