比方说,我们希望像这样将相同的数据放入多行中。
此示例的列名称:
Monday, Tuesday, Wednesday, Thursday, Friday
INSERT INTO sample
VALUES ('long string')
这是我的意思的示例,因此每列中的值相同
Monday | Tuesday | Wednesday | Thursday | Friday
long string | long string | long string | long string | long string
我想要所有列中的长字符串,有没有办法在不使用多个插入语句的情况下做到这一点?还是有一种创建CTE的方法,可以自动执行该操作以使其更容易?
答案 0 :(得分:1)
您必须列出所有值:
insert into sample (Monday, Tuesday, Wednesday, Thursday, Friday)
values ('long string', 'long string', 'long string', 'long string', 'long string');
您没有指定数据库,但是可以使用子查询来减小查询的大小:
insert into sample (Monday, Tuesday, Wednesday, Thursday, Friday)
select val, val, val, val, val
from (select 'long string' as val) x;
答案 1 :(得分:0)
您可以像下面这样展开戈登的示例:
DECLARE @valuesToInsert TABLE (val NVARCHAR(MAX))
INSERT INTO @valuesToInsert
VALUES
('This is a long sentence'),
('This is another long sentence'),
('This is yet another long sentence')
INSERT INTO sample (Monday, Tuesday, Wednesday, Thursday, Friday)
SELECT val, val, val, val, val
FROM @valuesToInsert
@valuesToInsert
是您要使用的数据源
(我创建了一个表变量,只是为了显示多个数据行
答案 2 :(得分:-1)
尝试
插入样本(星期一,星期二,星期三,星期四,星期五) 值选择“长字符串”