Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wstaw dane varbinary do bazy danych SQL Server

Dwie kwestie:

Problem nr 1 :nie używaj TEXT już - jest przestarzały. Użyj VARCHAR(n) o odpowiednim rozmiarze n lub jeśli naprawdę musi (tylko jeśli NAPRAWDĘ musi), użyj VARCHAR(MAX)

CREATE TABLE dbo.CONNECT_USER
(
    NUM_TRF int,
    NAME varchar(255),
    DESCRIPTION varchar(1000),
    REPORT varbinary(max)
)

Osobiście unikałbym też pisania WSZYSTKIEGO WIELKIMI LITERAMI - to tylko utrudnia czytanie! Staram się unikać bardzo ogólnych nazwy kolumn, takie jak Name lub Description - nie są one zbyt intuicyjne i mogą kolidować z kolumnami innej tabeli i/lub z zastrzeżonymi słowami kluczowymi SQL Server. Spróbuj użyć bardziej wyrazistego , więcej nazw kolumn związanych z kontekstem, które mają sens w Twoim środowisku (ConnectUsername czy cokolwiek)

Problem nr 2 :podczas wykonywania INSERT , polecam zawsze zdefiniuj kolumnę, do której chcesz wstawić. Pozwala to uniknąć nieprzyjemnych niespodzianek w przypadku zmiany struktury tabeli lub dodania nowych kolumn:

INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER](NUM_TRF, NAME, DESCRIPTION, REPORT)
VALUES(1, 'name', 'description', CAST('wahid' AS VARBINARY(MAX)))
GO



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy GETUTCDATE() zwróci tę samą wartość, jeśli zostanie użyta dwukrotnie w tej samej instrukcji?

  2. Jak działa SET ROWCOUNT w SQL Server

  3. SQL NOT IN nie działa

  4. Jak programowo wyeksportować plik csv na podstawie zapytania SQL

  5. Wybierz różne wiersze podczas grupowania według maksymalnej wartości