Проблема со вставкой двоичных данных через запрос SQL (SQL Server 2008)

Это запрос, который я нашел для вставки двоичных данных (с использованием varbinary), который отлично работает CREATE TABLE Employees (
Id int,
Name varchar(50) not null,
Photo varbinary(max) not null
)

INSERT INTO Employees (Id, Name, Photo)
SELECT 10, 'John', BulkColumn from Openrowset( Bulk 'C:\photo.bmp', Single_Blob) as EmployeePicture

Но что, если у сотрудника таблицы есть такие столбцы, как:
CREATE TABLE Employees (
Id int,
Photo varbinary(max) not null,
Name varchar(50) not null
)

[Столбец фотографий здесь второй!]
Я пытался манипулировать запросом на вставку, но не помогло!!


person user646093    schedule 05.04.2011    source источник
comment
Покажите нам, какие запросы вы пробовали. А вы пробовали просто использовать запрос как есть? Поскольку вы используете вариант INSERT INTO, в котором перечислены имена столбцов, не должно иметь значения, в каком порядке столбцы находятся в сравнении с их порядком в фактической таблице - в этом смысл использования имен столбцов - не нужно беспокоиться об их порядке. в таблице.   -  person QuantumMechanic    schedule 05.04.2011


Ответы (1)


Вы бы использовали

 INSERT INTO Employees
 SELECT 10, BulkColumn AS EmployeePicture, 'John'
 FROM OPENROWSET( BULK 'C:\photo.bmp', Single_Blob) bc

Or

 INSERT INTO Employees
 SELECT 10, 
        (SELECT BulkColumn AS EmployeePicture  FROM OPENROWSET( BULK 'C:\photo.bmp', Single_Blob) bc), 
        'John'

Я предполагаю, что вы, вероятно, пытались что-то вроде этого

 INSERT INTO Employees
 SELECT 10, 
        BulkColumn AS EmployeePicture  FROM OPENROWSET( BULK 'C:\photo.bmp', Single_Blob), 
        'John'
person Martin Smith    schedule 05.04.2011
comment
Вы правы Мартин!! Это один из 7-8 запросов, которые я пробовал. :) Я бы использовал второй запрос, так как он логически обоснован и через него можно легко вставить несколько двоичных данных. Существуют ли какие-либо онлайн-ресурсы, где я могу изучить и понять синтаксис этих запросов? Я знаком с основами SQL, которые представлены на W3Schools, но такие сложные запросы трудно найти. Кстати, какое форматирование вы использовали для отображения запросов? - person user646093; 06.04.2011
comment
Чтобы отформатировать запрос как код в StackOverflow, вы выбираете текст, который нужно отформатировать как код, и нажимаете значок кода {}. Не совсем уверен в онлайн-ресурсах. Тем не менее, SQL Джо Селко для Smarties, безусловно, стоит прочитать. - person Martin Smith; 06.04.2011
comment
Еще раз спасибо Мартин. Получила книгу, обязательно что-нибудь из нее почерпну. - person user646093; 07.04.2011