有没有办法将相同的数据插入到SQL的多个列中?

时间:2018-07-13 14:50:17

标签: sql c-treeace

比方说,我们希望像这样将相同的数据放入多行中。

此示例的列名称:

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的方法,可以自动执行该操作以使其更容易?

3 个答案:

答案 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)

尝试

插入样本(星期一,星期二,星期三,星期四,星期五) 值选择“长字符串”