0

假设我们想像这样将相同的数据放入多行中。

此示例的列名:

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 以使其更容易?

4

3 回答 3

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;
于 2018-07-13T14:51:57.700 回答
0

您可以像这样扩展 Gordon 的示例:

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是您要使用的数据源(我创建了一个表变量只是为了显示多个数据行

于 2018-07-13T15:02:11.450 回答
-1

尝试

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

于 2018-07-13T14:57:52.097 回答