Come aggiornare un campo BLOB solo utilizzando TSQL (ad esempio da SSMS e non utilizzando alcun codice come ADO.Net o Linq)?Come aggiornare un BLOB in SQL SERVER utilizzando TSQL
8
A
risposta
12
Ci sono due modi per selezionare un BLOB con TSQL:
SELECT * FROM OPENROWSET (BULK 'C:\Test\Test1.pdf', SINGLE_BLOB) a
nonché:
SELECT BulkColumn FROM OPENROWSET (BULK 'C:\Test\Test1.pdf', SINGLE_BLOB) a
annotare il nome di correlazione dopo la clausola FROM, che è obbligatorio.
La seconda versione può essere utilizzato per un UPDATE come il seguente esempio:
UPDATE MyTable
SET blobField =
(SELECT BulkColumn FROM OPENROWSET (BULK 'C:\Test\Test1.pdf', SINGLE_BLOB) a)
WHERE (CriteriaField = @criteria)
Per aggiornamenti parziali si può usare il modificatore SET .WRITE come descritto in this MSDN article, ecco la sintassi:
UPDATE MyTable SET BlobField .WRITE (expression, @offset, @length) WHERE (CriteriaField = @criteria)
Si noti che il mutatore WRITE può essere utilizzato solo su campi NON NULL.
Infatti, questo può essere utilizzato anche per eseguire un aggiornamento completo (se la colonna non contiene NULL), impostando @offset su 0 e @length su NULL (o sulla lunghezza effettiva), come nell'esempio seguente :
DECLARE @tmp VARBINARY(MAX) --Change to the correct datatype here
SELECT @tmp = BulkColumn FROM OPENROWSET (BULK 'C:\Test\Test1.pdf', SINGLE_BLOB) a
UPDATE MyTable SET BlobField .WRITE (@tmp, 0, NULL) WHERE (CriteriaField = @criteria)
Problemi correlati
- 1. Come dichiarare un BLOB in SQL Server
- 2. aggiornare le tabelle multiple in SQL Server utilizzando INNER JOIN
- 3. millisecondo in SQL tsql
- 4. Aggiornare la colonna xml del server SQL utilizzando XQUERY?
- 5. Aggiornare la stessa tabella in SQL Server
- 6. Come aggiornare a tratti un blob in SQLite?
- 7. Come aggiornare la data SQL utilizzando NOW()
- 8. SQL dinamico utilizzando la variabile di tabella -TSQL
- 9. Come utilizzare BCP o Sql Server Management Studio per estrarre i dati BLOB dal server Sql?
- 10. Utilizzando RegEx in SQL Server
- 11. Come aggiornare l'offset di una colonna in SQL Server?
- 12. Come aggiornare automaticamente il cubo olap del server sql
- 13. Comando TSQL per la connessione a un altro server (SQL Server 2005)
- 14. Come posso aggiornare il mio database sql Server CE 3.5 sdf a Sql Server CE 4.0?
- 15. Come aggiornare il risolutore di conflitti durante l'aggiornamento da SQL Server 2005 a SQL Server 2008
- 16. MapReduce utilizzando SQL Server come origine dati
- 17. inserisci un BLOB tramite uno script sql?
- 18. SQL Server OFFSET equivalente
- 19. Utilizzando PIVOT in SQL Server 2008
- 20. Connessione a SQL Server tramite PDO utilizzando SQL Server Driver
- 21. Riproduzione di un file video da un blob del server SQL tramite il gestore ashx utilizzando il tag HTML5
- 22. Come aggiornare i dati di una colonna utilizzando altri dati di tabelle TSQL
- 23. tsql: il modo migliore per aggiornare una tabella db con un file csv
- 24. Come connettersi a SQL Server utilizzando LINQ to SQL?
- 25. In SQL Server, come faccio a sapere quale modalità di transazione sto utilizzando attualmente?
- 26. Elimina record duplicati in SQL Server?
- 27. Impossibile connettersi al database di SQL Server utilizzando pymssql ma è possibile connettersi utilizzando freetds sottostanti tsql
- 28. Come eseguire lo script sql utilizzando SQL Server Management Studio?
- 29. SQL Server: aggiornamento colonna in un albero
- 30. BLOB in SQL che memorizza un file video
in effetti, la prima versione di SELECT è davvero niente di più poi il secondo selezionare solo utilizzando invece SELECT *, Still ho inserito come una versione separata dal momento che questo è ciò che il MSDN e altre risorse online utilizzano negli esempi e sembra che molti sviluppatori pensino che sia l'unico modo per farlo –