Кількість виразів значення рядків у операторі INSERT перевищує максимально дозволену кількість 1000 рядкових значень


17

Один із INSERT INTOсценаріїв написаний наступним чином.

INSERT INTO tableName (Column1, Column2,....) VALUES (value1, Value2,...), (value1, Value2,...),....

Далі йде помилка, з якою ми стикаємося при розборі вищевикладеного оператора insert

Повідомлення 10738, Рівень 15, Стан 1, Рядок 1007 Кількість виразів значення рядка в операторі INSERT перевищує максимально дозволену кількість 1000 значень рядків.

Моє просте запитання полягає в тому, чи можна змінити ліміт 1000 значень?

Відповіді:


25

Ні. Це жорстке кодування обмежень існує з поважних причин, пов'язаних з можливим надмірним часом складання плану запитів. Ви можете її вирішити, перерахувавши VALUESпункти в CTE, потім INSERTвід CTE, але я не рекомендую.

Розбийте INSERTоператор на VALUESпункти розміром <= 1000 рядків кожен як спосіб вирішення, або використовуйте альтернативний метод завантаження даних, такий як bcpабо BULK INSERT. Основна проблема може бути вирішена в майбутній версії SQL Server . Дивіться також чудову відповідь Мартіна Сміта про переповнення стека.

Нерекомендоване рішення:

DECLARE @T AS table (c1 int);

-- Error 10738    
INSERT @T (c1)
VALUES
(1),
(2),
(3),
(4),
(5),
(6),
(7),
(8),
(9),
(10),
(11),
(12),
(13),
(14),
(15),
(16),
(17),
(18),
(19),
(20),
(21),
(22),
(23),
(24),
(25),
(26),
(27),
(28),
(29),
(30),
(31),
(32),
(33),
(34),
(35),
(36),
(37),
(38),
(39),
(40),
(41),
(42),
(43),
(44),
(45),
(46),
(47),
(48),
(49),
(50),
(51),
(52),
(53),
(54),
(55),
(56),
(57),
(58),
(59),
(60),
(61),
(62),
(63),
(64),
(65),
(66),
(67),
(68),
(69),
(70),
(71),
(72),
(73),
(74),
(75),
(76),
(77),
(78),
(79),
(80),
(81),
(82),
(83),
(84),
(85),
(86),
(87),
(88),
(89),
(90),
(91),
(92),
(93),
(94),
(95),
(96),
(97),
(98),
(99),
(100),
(101),
(102),
(103),
(104),
(105),
(106),
(107),
(108),
(109),
(110),
(111),
(112),
(113),
(114),
(115),
(116),
(117),
(118),
(119),
(120),
(121),
(122),
(123),
(124),
(125),
(126),
(127),
(128),
(129),
(130),
(131),
(132),
(133),
(134),
(135),
(136),
(137),
(138),
(139),
(140),
(141),
(142),
(143),
(144),
(145),
(146),
(147),
(148),
(149),
(150),
(151),
(152),
(153),
(154),
(155),
(156),
(157),
(158),
(159),
(160),
(161),
(162),
(163),
(164),
(165),
(166),
(167),
(168),
(169),
(170),
(171),
(172),
(173),
(174),
(175),
(176),
(177),
(178),
(179),
(180),
(181),
(182),
(183),
(184),
(185),
(186),
(187),
(188),
(189),
(190),
(191),
(192),
(193),
(194),
(195),
(196),
(197),
(198),
(199),
(200),
(201),
(202),
(203),
(204),
(205),
(206),
(207),
(208),
(209),
(210),
(211),
(212),
(213),
(214),
(215),
(216),
(217),
(218),
(219),
(220),
(221),
(222),
(223),
(224),
(225),
(226),
(227),
(228),
(229),
(230),
(231),
(232),
(233),
(234),
(235),
(236),
(237),
(238),
(239),
(240),
(241),
(242),
(243),
(244),
(245),
(246),
(247),
(248),
(249),
(250),
(251),
(252),
(253),
(254),
(255),
(256),
(257),
(258),
(259),
(260),
(261),
(262),
(263),
(264),
(265),
(266),
(267),
(268),
(269),
(270),
(271),
(272),
(273),
(274),
(275),
(276),
(277),
(278),
(279),
(280),
(281),
(282),
(283),
(284),
(285),
(286),
(287),
(288),
(289),
(290),
(291),
(292),
(293),
(294),
(295),
(296),
(297),
(298),
(299),
(300),
(301),
(302),
(303),
(304),
(305),
(306),
(307),
(308),
(309),
(310),
(311),
(312),
(313),
(314),
(315),
(316),
(317),
(318),
(319),
(320),
(321),
(322),
(323),
(324),
(325),
(326),
(327),
(328),
(329),
(330),
(331),
(332),
(333),
(334),
(335),
(336),
(337),
(338),
(339),
(340),
(341),
(342),
(343),
(344),
(345),
(346),
(347),
(348),
(349),
(350),
(351),
(352),
(353),
(354),
(355),
(356),
(357),
(358),
(359),
(360),
(361),
(362),
(363),
(364),
(365),
(366),
(367),
(368),
(369),
(370),
(371),
(372),
(373),
(374),
(375),
(376),
(377),
(378),
(379),
(380),
(381),
(382),
(383),
(384),
(385),
(386),
(387),
(388),
(389),
(390),
(391),
(392),
(393),
(394),
(395),
(396),
(397),
(398),
(399),
(400),
(401),
(402),
(403),
(404),
(405),
(406),
(407),
(408),
(409),
(410),
(411),
(412),
(413),
(414),
(415),
(416),
(417),
(418),
(419),
(420),
(421),
(422),
(423),
(424),
(425),
(426),
(427),
(428),
(429),
(430),
(431),
(432),
(433),
(434),
(435),
(436),
(437),
(438),
(439),
(440),
(441),
(442),
(443),
(444),
(445),
(446),
(447),
(448),
(449),
(450),
(451),
(452),
(453),
(454),
(455),
(456),
(457),
(458),
(459),
(460),
(461),
(462),
(463),
(464),
(465),
(466),
(467),
(468),
(469),
(470),
(471),
(472),
(473),
(474),
(475),
(476),
(477),
(478),
(479),
(480),
(481),
(482),
(483),
(484),
(485),
(486),
(487),
(488),
(489),
(490),
(491),
(492),
(493),
(494),
(495),
(496),
(497),
(498),
(499),
(500),
(501),
(502),
(503),
(504),
(505),
(506),
(507),
(508),
(509),
(510),
(511),
(512),
(513),
(514),
(515),
(516),
(517),
(518),
(519),
(520),
(521),
(522),
(523),
(524),
(525),
(526),
(527),
(528),
(529),
(530),
(531),
(532),
(533),
(534),
(535),
(536),
(537),
(538),
(539),
(540),
(541),
(542),
(543),
(544),
(545),
(546),
(547),
(548),
(549),
(550),
(551),
(552),
(553),
(554),
(555),
(556),
(557),
(558),
(559),
(560),
(561),
(562),
(563),
(564),
(565),
(566),
(567),
(568),
(569),
(570),
(571),
(572),
(573),
(574),
(575),
(576),
(577),
(578),
(579),
(580),
(581),
(582),
(583),
(584),
(585),
(586),
(587),
(588),
(589),
(590),
(591),
(592),
(593),
(594),
(595),
(596),
(597),
(598),
(599),
(600),
(601),
(602),
(603),
(604),
(605),
(606),
(607),
(608),
(609),
(610),
(611),
(612),
(613),
(614),
(615),
(616),
(617),
(618),
(619),
(620),
(621),
(622),
(623),
(624),
(625),
(626),
(627),
(628),
(629),
(630),
(631),
(632),
(633),
(634),
(635),
(636),
(637),
(638),
(639),
(640),
(641),
(642),
(643),
(644),
(645),
(646),
(647),
(648),
(649),
(650),
(651),
(652),
(653),
(654),
(655),
(656),
(657),
(658),
(659),
(660),
(661),
(662),
(663),
(664),
(665),
(666),
(667),
(668),
(669),
(670),
(671),
(672),
(673),
(674),
(675),
(676),
(677),
(678),
(679),
(680),
(681),
(682),
(683),
(684),
(685),
(686),
(687),
(688),
(689),
(690),
(691),
(692),
(693),
(694),
(695),
(696),
(697),
(698),
(699),
(700),
(701),
(702),
(703),
(704),
(705),
(706),
(707),
(708),
(709),
(710),
(711),
(712),
(713),
(714),
(715),
(716),
(717),
(718),
(719),
(720),
(721),
(722),
(723),
(724),
(725),
(726),
(727),
(728),
(729),
(730),
(731),
(732),
(733),
(734),
(735),
(736),
(737),
(738),
(739),
(740),
(741),
(742),
(743),
(744),
(745),
(746),
(747),
(748),
(749),
(750),
(751),
(752),
(753),
(754),
(755),
(756),
(757),
(758),
(759),
(760),
(761),
(762),
(763),
(764),
(765),
(766),
(767),
(768),
(769),
(770),
(771),
(772),
(773),
(774),
(775),
(776),
(777),
(778),
(779),
(780),
(781),
(782),
(783),
(784),
(785),
(786),
(787),
(788),
(789),
(790),
(791),
(792),
(793),
(794),
(795),
(796),
(797),
(798),
(799),
(800),
(801),
(802),
(803),
(804),
(805),
(806),
(807),
(808),
(809),
(810),
(811),
(812),
(813),
(814),
(815),
(816),
(817),
(818),
(819),
(820),
(821),
(822),
(823),
(824),
(825),
(826),
(827),
(828),
(829),
(830),
(831),
(832),
(833),
(834),
(835),
(836),
(837),
(838),
(839),
(840),
(841),
(842),
(843),
(844),
(845),
(846),
(847),
(848),
(849),
(850),
(851),
(852),
(853),
(854),
(855),
(856),
(857),
(858),
(859),
(860),
(861),
(862),
(863),
(864),
(865),
(866),
(867),
(868),
(869),
(870),
(871),
(872),
(873),
(874),
(875),
(876),
(877),
(878),
(879),
(880),
(881),
(882),
(883),
(884),
(885),
(886),
(887),
(888),
(889),
(890),
(891),
(892),
(893),
(894),
(895),
(896),
(897),
(898),
(899),
(900),
(901),
(902),
(903),
(904),
(905),
(906),
(907),
(908),
(909),
(910),
(911),
(912),
(913),
(914),
(915),
(916),
(917),
(918),
(919),
(920),
(921),
(922),
(923),
(924),
(925),
(926),
(927),
(928),
(929),
(930),
(931),
(932),
(933),
(934),
(935),
(936),
(937),
(938),
(939),
(940),
(941),
(942),
(943),
(944),
(945),
(946),
(947),
(948),
(949),
(950),
(951),
(952),
(953),
(954),
(955),
(956),
(957),
(958),
(959),
(960),
(961),
(962),
(963),
(964),
(965),
(966),
(967),
(968),
(969),
(970),
(971),
(972),
(973),
(974),
(975),
(976),
(977),
(978),
(979),
(980),
(981),
(982),
(983),
(984),
(985),
(986),
(987),
(988),
(989),
(990),
(991),
(992),
(993),
(994),
(995),
(996),
(997),
(998),
(999),
(1000),
(1001);

CTE вирішення (без помилок, не рекомендується!):

DECLARE @T AS table (c1 int);

WITH CTE (c1) AS
(
    SELECT V.v 
    FROM 
    (
        VALUES
        (1),
        (2),
        (3),
        (4),
        (5),
        (6),
        (7),
        (8),
        (9),
        (10),
        (11),
        (12),
        (13),
        (14),
        (15),
        (16),
        (17),
        (18),
        (19),
        (20),
        (21),
        (22),
        (23),
        (24),
        (25),
        (26),
        (27),
        (28),
        (29),
        (30),
        (31),
        (32),
        (33),
        (34),
        (35),
        (36),
        (37),
        (38),
        (39),
        (40),
        (41),
        (42),
        (43),
        (44),
        (45),
        (46),
        (47),
        (48),
        (49),
        (50),
        (51),
        (52),
        (53),
        (54),
        (55),
        (56),
        (57),
        (58),
        (59),
        (60),
        (61),
        (62),
        (63),
        (64),
        (65),
        (66),
        (67),
        (68),
        (69),
        (70),
        (71),
        (72),
        (73),
        (74),
        (75),
        (76),
        (77),
        (78),
        (79),
        (80),
        (81),
        (82),
        (83),
        (84),
        (85),
        (86),
        (87),
        (88),
        (89),
        (90),
        (91),
        (92),
        (93),
        (94),
        (95),
        (96),
        (97),
        (98),
        (99),
        (100),
        (101),
        (102),
        (103),
        (104),
        (105),
        (106),
        (107),
        (108),
        (109),
        (110),
        (111),
        (112),
        (113),
        (114),
        (115),
        (116),
        (117),
        (118),
        (119),
        (120),
        (121),
        (122),
        (123),
        (124),
        (125),
        (126),
        (127),
        (128),
        (129),
        (130),
        (131),
        (132),
        (133),
        (134),
        (135),
        (136),
        (137),
        (138),
        (139),
        (140),
        (141),
        (142),
        (143),
        (144),
        (145),
        (146),
        (147),
        (148),
        (149),
        (150),
        (151),
        (152),
        (153),
        (154),
        (155),
        (156),
        (157),
        (158),
        (159),
        (160),
        (161),
        (162),
        (163),
        (164),
        (165),
        (166),
        (167),
        (168),
        (169),
        (170),
        (171),
        (172),
        (173),
        (174),
        (175),
        (176),
        (177),
        (178),
        (179),
        (180),
        (181),
        (182),
        (183),
        (184),
        (185),
        (186),
        (187),
        (188),
        (189),
        (190),
        (191),
        (192),
        (193),
        (194),
        (195),
        (196),
        (197),
        (198),
        (199),
        (200),
        (201),
        (202),
        (203),
        (204),
        (205),
        (206),
        (207),
        (208),
        (209),
        (210),
        (211),
        (212),
        (213),
        (214),
        (215),
        (216),
        (217),
        (218),
        (219),
        (220),
        (221),
        (222),
        (223),
        (224),
        (225),
        (226),
        (227),
        (228),
        (229),
        (230),
        (231),
        (232),
        (233),
        (234),
        (235),
        (236),
        (237),
        (238),
        (239),
        (240),
        (241),
        (242),
        (243),
        (244),
        (245),
        (246),
        (247),
        (248),
        (249),
        (250),
        (251),
        (252),
        (253),
        (254),
        (255),
        (256),
        (257),
        (258),
        (259),
        (260),
        (261),
        (262),
        (263),
        (264),
        (265),
        (266),
        (267),
        (268),
        (269),
        (270),
        (271),
        (272),
        (273),
        (274),
        (275),
        (276),
        (277),
        (278),
        (279),
        (280),
        (281),
        (282),
        (283),
        (284),
        (285),
        (286),
        (287),
        (288),
        (289),
        (290),
        (291),
        (292),
        (293),
        (294),
        (295),
        (296),
        (297),
        (298),
        (299),
        (300),
        (301),
        (302),
        (303),
        (304),
        (305),
        (306),
        (307),
        (308),
        (309),
        (310),
        (311),
        (312),
        (313),
        (314),
        (315),
        (316),
        (317),
        (318),
        (319),
        (320),
        (321),
        (322),
        (323),
        (324),
        (325),
        (326),
        (327),
        (328),
        (329),
        (330),
        (331),
        (332),
        (333),
        (334),
        (335),
        (336),
        (337),
        (338),
        (339),
        (340),
        (341),
        (342),
        (343),
        (344),
        (345),
        (346),
        (347),
        (348),
        (349),
        (350),
        (351),
        (352),
        (353),
        (354),
        (355),
        (356),
        (357),
        (358),
        (359),
        (360),
        (361),
        (362),
        (363),
        (364),
        (365),
        (366),
        (367),
        (368),
        (369),
        (370),
        (371),
        (372),
        (373),
        (374),
        (375),
        (376),
        (377),
        (378),
        (379),
        (380),
        (381),
        (382),
        (383),
        (384),
        (385),
        (386),
        (387),
        (388),
        (389),
        (390),
        (391),
        (392),
        (393),
        (394),
        (395),
        (396),
        (397),
        (398),
        (399),
        (400),
        (401),
        (402),
        (403),
        (404),
        (405),
        (406),
        (407),
        (408),
        (409),
        (410),
        (411),
        (412),
        (413),
        (414),
        (415),
        (416),
        (417),
        (418),
        (419),
        (420),
        (421),
        (422),
        (423),
        (424),
        (425),
        (426),
        (427),
        (428),
        (429),
        (430),
        (431),
        (432),
        (433),
        (434),
        (435),
        (436),
        (437),
        (438),
        (439),
        (440),
        (441),
        (442),
        (443),
        (444),
        (445),
        (446),
        (447),
        (448),
        (449),
        (450),
        (451),
        (452),
        (453),
        (454),
        (455),
        (456),
        (457),
        (458),
        (459),
        (460),
        (461),
        (462),
        (463),
        (464),
        (465),
        (466),
        (467),
        (468),
        (469),
        (470),
        (471),
        (472),
        (473),
        (474),
        (475),
        (476),
        (477),
        (478),
        (479),
        (480),
        (481),
        (482),
        (483),
        (484),
        (485),
        (486),
        (487),
        (488),
        (489),
        (490),
        (491),
        (492),
        (493),
        (494),
        (495),
        (496),
        (497),
        (498),
        (499),
        (500),
        (501),
        (502),
        (503),
        (504),
        (505),
        (506),
        (507),
        (508),
        (509),
        (510),
        (511),
        (512),
        (513),
        (514),
        (515),
        (516),
        (517),
        (518),
        (519),
        (520),
        (521),
        (522),
        (523),
        (524),
        (525),
        (526),
        (527),
        (528),
        (529),
        (530),
        (531),
        (532),
        (533),
        (534),
        (535),
        (536),
        (537),
        (538),
        (539),
        (540),
        (541),
        (542),
        (543),
        (544),
        (545),
        (546),
        (547),
        (548),
        (549),
        (550),
        (551),
        (552),
        (553),
        (554),
        (555),
        (556),
        (557),
        (558),
        (559),
        (560),
        (561),
        (562),
        (563),
        (564),
        (565),
        (566),
        (567),
        (568),
        (569),
        (570),
        (571),
        (572),
        (573),
        (574),
        (575),
        (576),
        (577),
        (578),
        (579),
        (580),
        (581),
        (582),
        (583),
        (584),
        (585),
        (586),
        (587),
        (588),
        (589),
        (590),
        (591),
        (592),
        (593),
        (594),
        (595),
        (596),
        (597),
        (598),
        (599),
        (600),
        (601),
        (602),
        (603),
        (604),
        (605),
        (606),
        (607),
        (608),
        (609),
        (610),
        (611),
        (612),
        (613),
        (614),
        (615),
        (616),
        (617),
        (618),
        (619),
        (620),
        (621),
        (622),
        (623),
        (624),
        (625),
        (626),
        (627),
        (628),
        (629),
        (630),
        (631),
        (632),
        (633),
        (634),
        (635),
        (636),
        (637),
        (638),
        (639),
        (640),
        (641),
        (642),
        (643),
        (644),
        (645),
        (646),
        (647),
        (648),
        (649),
        (650),
        (651),
        (652),
        (653),
        (654),
        (655),
        (656),
        (657),
        (658),
        (659),
        (660),
        (661),
        (662),
        (663),
        (664),
        (665),
        (666),
        (667),
        (668),
        (669),
        (670),
        (671),
        (672),
        (673),
        (674),
        (675),
        (676),
        (677),
        (678),
        (679),
        (680),
        (681),
        (682),
        (683),
        (684),
        (685),
        (686),
        (687),
        (688),
        (689),
        (690),
        (691),
        (692),
        (693),
        (694),
        (695),
        (696),
        (697),
        (698),
        (699),
        (700),
        (701),
        (702),
        (703),
        (704),
        (705),
        (706),
        (707),
        (708),
        (709),
        (710),
        (711),
        (712),
        (713),
        (714),
        (715),
        (716),
        (717),
        (718),
        (719),
        (720),
        (721),
        (722),
        (723),
        (724),
        (725),
        (726),
        (727),
        (728),
        (729),
        (730),
        (731),
        (732),
        (733),
        (734),
        (735),
        (736),
        (737),
        (738),
        (739),
        (740),
        (741),
        (742),
        (743),
        (744),
        (745),
        (746),
        (747),
        (748),
        (749),
        (750),
        (751),
        (752),
        (753),
        (754),
        (755),
        (756),
        (757),
        (758),
        (759),
        (760),
        (761),
        (762),
        (763),
        (764),
        (765),
        (766),
        (767),
        (768),
        (769),
        (770),
        (771),
        (772),
        (773),
        (774),
        (775),
        (776),
        (777),
        (778),
        (779),
        (780),
        (781),
        (782),
        (783),
        (784),
        (785),
        (786),
        (787),
        (788),
        (789),
        (790),
        (791),
        (792),
        (793),
        (794),
        (795),
        (796),
        (797),
        (798),
        (799),
        (800),
        (801),
        (802),
        (803),
        (804),
        (805),
        (806),
        (807),
        (808),
        (809),
        (810),
        (811),
        (812),
        (813),
        (814),
        (815),
        (816),
        (817),
        (818),
        (819),
        (820),
        (821),
        (822),
        (823),
        (824),
        (825),
        (826),
        (827),
        (828),
        (829),
        (830),
        (831),
        (832),
        (833),
        (834),
        (835),
        (836),
        (837),
        (838),
        (839),
        (840),
        (841),
        (842),
        (843),
        (844),
        (845),
        (846),
        (847),
        (848),
        (849),
        (850),
        (851),
        (852),
        (853),
        (854),
        (855),
        (856),
        (857),
        (858),
        (859),
        (860),
        (861),
        (862),
        (863),
        (864),
        (865),
        (866),
        (867),
        (868),
        (869),
        (870),
        (871),
        (872),
        (873),
        (874),
        (875),
        (876),
        (877),
        (878),
        (879),
        (880),
        (881),
        (882),
        (883),
        (884),
        (885),
        (886),
        (887),
        (888),
        (889),
        (890),
        (891),
        (892),
        (893),
        (894),
        (895),
        (896),
        (897),
        (898),
        (899),
        (900),
        (901),
        (902),
        (903),
        (904),
        (905),
        (906),
        (907),
        (908),
        (909),
        (910),
        (911),
        (912),
        (913),
        (914),
        (915),
        (916),
        (917),
        (918),
        (919),
        (920),
        (921),
        (922),
        (923),
        (924),
        (925),
        (926),
        (927),
        (928),
        (929),
        (930),
        (931),
        (932),
        (933),
        (934),
        (935),
        (936),
        (937),
        (938),
        (939),
        (940),
        (941),
        (942),
        (943),
        (944),
        (945),
        (946),
        (947),
        (948),
        (949),
        (950),
        (951),
        (952),
        (953),
        (954),
        (955),
        (956),
        (957),
        (958),
        (959),
        (960),
        (961),
        (962),
        (963),
        (964),
        (965),
        (966),
        (967),
        (968),
        (969),
        (970),
        (971),
        (972),
        (973),
        (974),
        (975),
        (976),
        (977),
        (978),
        (979),
        (980),
        (981),
        (982),
        (983),
        (984),
        (985),
        (986),
        (987),
        (988),
        (989),
        (990),
        (991),
        (992),
        (993),
        (994),
        (995),
        (996),
        (997),
        (998),
        (999),
        (1000),
        (1001)
    ) AS V(v)
)
INSERT @T (c1)
SELECT c1 
FROM CTE;

" з поважних причин " - можливо, щоб збільшити сумісність з Oracle;) Я не знав, що SQL Server має саме таке обмеження.
a_horse_with_no_name

12

Ви можете використовувати такий синтаксис:

insert into tableName (column1)
select '1' union all
select '2' union all
...

і так далі. Немає обмежень щодо кількості вставлених рядків.


Зверніть увагу, що для останньої інстанції у вас цього не повинно бути union all.
thecoolmacdude

@thecoolmacdude зазвичай правильний, проте в цьому випадку ми не знаємо, чи має його таблиця повторювані рядки, які ОП може не хотіти усунути. UNION ALLтут було б краще, оскільки це не вплине на дані жодним чином від їх початкового виду. Навіть якщо дублюючі рядки в кінцевому підсумку повинні бути видалені, ОП, здається, просто шукає SELECTзаяву.
Брамдер

1
Виглядає як @thecoolmacdude думає , що це як CSV рядок із завершальним коми, а ніщо - або про неявній виразністю з UNIONпроти UNION ALL.
Elaskanator
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.