Проверьте следующее,

у вставить несколько значений в таблицу Access 2010, но я не могу найти способ.
У MySQL был хороший способ:

INSERT INTO Production.UnitMeasure
VALUES 
    (N'FT2', N'Square Feet ', '20080923'),
    (N'Y', N'Yards', '20080923'),
    (N'Y3', N'Cubic Yards', '20080923');

Можно ли что-то подобное сделать в SQL Server?

 NGLN28 мая 2011 г., 21:32
Да, синтаксис отличается так же, как и возможности. Смотрите ответ (ы) ниже.
 Janis Peisenieks28 мая 2011 г., 21:04
Access 2010. Различается ли синтаксис?
 NGLN28 мая 2011 г., 19:20
Что это? Access 2010 или SQL Server?
 BIBD01 июн. 2011 г., 21:27
Re: MS Access - да и нет -stackoverflow.com/questions/62504/...

Ответы на вопрос(8)

Решение Вопроса

да, и он может точно так же, как вы пишете. Просто убедитесь, что значения столбцов находятся в том же порядке, в котором они отображаются в таблице. Также: вы должны указать значение для каждого существующего столбца.

Для Access 2010: Нет. По крайней мере, не с помощью жестко закодированных значений в SQL, а только путем выбора нескольких записей из таблицы (в той же или в другой базе данных). Смотрите также ссылку в ответе Хепри.

 NGLN28 мая 2011 г., 19:19
@marc_S: Хорошее замечание! +1
 ErikE29 мая 2011 г., 10:33
Этот ответ не совсем верен.
 Janis Peisenieks29 мая 2011 г., 12:09
Все, что мне нужно было знать, может ли это быть сделано в Access. Этот ответ говорит нет. Достаточно хорошо для меня!
 BIBD01 июн. 2011 г., 21:25
Это больше да и нет для MS-Access смотри этот ответ:stackoverflow.com/questions/62504/...
 marc_s28 мая 2011 г., 19:06
Да - с SQL Server2008 - это было недействительно до версии 2008 года

SQL Server определенно позволяет это:РЕДАКТИРОВАТЬ: [Начиная с SQL Server 2008, спасибо Marc_s]

INSERT INTO [Table]
([COL1], [COL2])
VALUES
('[email protected]', 1),
('[email protected]', 2)

Что касается требования доступа, я не гуру доступа, но я нашелэта документация MSDN это показывает, как сделать несколько вставок одновременно.

INSERT INTO target [(field1[, field2[, …]])] [IN externaldatabase]
     SELECT [source.]field1[, field2[, …] FROM tableexpression

Выполнив некоторое поверхностное чтение, вы можете использовать «пустышку» из таблицы, если все ваши значения известны заранее, как в вашем примере.

 marc_s28 мая 2011 г., 19:06
Начиная с SQL Server 2008 - да; до этого это было невозможно
 NGLN28 мая 2011 г., 21:47
Использование фиктивной таблицы (которая все еще должна существовать) позволяет вам вставить только одну запись, потому что упомянутый Дэмиен прием UNION ALL недопустим. В этом случае вы также должны ограничить результат с помощью TOP 1. Пожалуйста, дайте мне знать, когда я ошибаюсь.
 ErikE29 мая 2011 г., 10:22
@ngln Используйте фиктивную таблицу с одной строкой, например OneRow.

ьте один ряд.

Затем:

INSERT INTO Production.UnitMeasure
SELECT 'FT2', 'Square Feet ', '20080923' FROM OneRow
UNION ALL SELECT 'Y', 'Yards', '20080923' FROM OneRow
UNION ALL SELECT 'Y3', 'Cubic Yards', '20080923' FROM OneRow

Ваш точный синтаксис работает на SQL Server 2008. Для более раннего использования мой запрос выше без предложений FROM и вспомогательной таблицы.

очешьвставить, сказать10 строк в таблице, сказатьфильм (mid, mname, mdirector, ....), вам нужно будет открыть окна SQL,

введите 1-й ввод, выполните 1-й ввод, удалите 1-й вводвведите 2-й stmt, выполните 2-й stmt, удалите 2-й stmtвведите 3-й stmt, выполните 3-й stmt, удалите 3-й stmt ......

Очень скучно. Вместо этого вы можете импортировать строки из Excel, выполнив:

Щелкните правой кнопкой мыши на имени таблицы, которую вы уже создалиИмпорт из Excel (открывается диалоговое окно импорта)Найдите файл Excel, содержащий записи для импорта в таблицу.Нажмите «Добавить копию записей в таблицу:»Выберите нужную таблицу (в этом примере фильма)Нажмите «ОК»Выберите лист, который содержит данные в электронной таблицеНажмите на Готово

Весь набор данных в Excel был загружен в таблицу "MOVIE"

что немного опаздываю к игре, но я хотел сделать то же самое, что вы, ребята, упомянули в своем примере. Я пытался вставить новый список строк по умолчанию в таблицу / список, используя Access, потому что у меня был большой опыт работы с SQL, я пытался сделать это таким же образом, однако, как отмечали ваши авторы, это невозможно Союзы и тому подобное.

Однако я просто хотел опубликовать ответ здесь, потому что в случае, когда вы вводите значения вручную (в данном случае строковые значения по умолчанию), вы можете просто открыть Access в виде таблицы, скопировать ваши данные из Excel и просто вставить их в ваша таблица доступа (или в моем случае, список SharePoint). Вам нужно убедиться, что столбцы точно выстроены, но если вы собирались вручную вводить свои SQL-операторы «вставка», просто поместить эту информацию в электронную таблицу Excel не должно быть большой проблемой.

В моем случае моя таблица / список имела только один столбец для поиска, поэтому я просто скопировал столбец из notepad ++ и вставил его в представление таблицы.

Всем удачи!

Используйте этот запрос подтверждения работы:


SELECT * FROM 
(    
  SELECT '10001000' AS Code,
         'Blackburn sunglasses' AS Name,
         1 AS IsActive,
         1 AS CreatedById,
         '2/20/2015 12:23:00 AM' AS CreatedDate 
   FROM Product    
   UNION 
   SELECT '10005200' AS Code,
          '30 panel football' AS Name,
          1 AS IsActive,
          1 AS CreatedById,
          '2/20/2015 12:23:09 AM' AS CreatedDate 
    FROM Product

) ;
 mYnDstrEAm29 нояб. 2015 г., 19:04
Отлично - единственное, что на самом деле сработало для меня!
 Nigel Alderton01 мая 2018 г., 14:45
Это сработало для меня в Access 2007.
 C Perkins07 июл. 2018 г., 18:18
Если вставленные столбцы уже соответствуют внутреннему порядку таблицы, имена столбцов и псевдонимы не нужны. Это может значительно упростить / сократить длинную выписку. Это может идти вразрез с принципом, согласно которому механизм SQL может возвращать столбцы и строки в случайном порядке, но он работает в Access. Но даже если предложение INTO содержит имена столбцов, только для первого оператора SELECT в UNION требуются псевдонимы столбцов, поскольку все последующие объединения будут принимать одинаковые имена. Это все еще поможет сократить очень длинную вставку со многими рядами.

для SQL Server 2008 и более поздних версий вы можете просто использовать конструкторы табличных значений. Для предыдущих версий вы можете использоватьinsert а такжеselect...union allНапример:

INSERT INTO Production.UnitMeasure
SELECT N'FT2',N'Square Feet ','20080923' union all
SELECT N'Y',  N'Yards',       '20080923' union all
SELECT N'Y3', N'Cubic Yards', '20080923'

(Специальная документация поКонструктор табличных значенийв SQL Server. Я не могу найти отдельную документацию по конструкторам значений строк, но это то, что они есть)

INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(1,'Maria','Anders','Berlin','Germany','030-0074321')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(2,'Ana','Trujillo','México D.F.','Mexico','(5) 555-4729')

Ваш ответ на вопрос