Mam bardzo podstawowy UPDATE SQL
-
UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101;
Ta kwerenda działa poprawnie w Oracle
, Derby
, MySQL
- ale nie w serwerze SQL 2008
z następującym błędem:
„Msg 102, poziom 15, stan 1, wiersz 1 Niepoprawna składnia w pobliżu„ Q ”.”
Jeśli usunę wszystkie wystąpienia aliasu „Q” z SQL, to zadziała.
Ale muszę użyć aliasu.
sql
sql-server
sql-server-2008
sql-update
alias
javauser71
źródło
źródło
Odpowiedzi:
Składnia użycia aliasu w instrukcji aktualizacji na serwerze SQL jest następująca:
Alias nie powinien być tutaj konieczny.
źródło
SET Q.TITLE = 'TEST' -- SELECT *
Zawsze możesz zastosować podejście CTE (Common Tabular Expression).
źródło
Specjalna skrzynka dla Postgres
Lista powyższych rozwiązań nie działałaby dla mnie. Oto rozwiązanie dla Postgres
Jak jestem ogniem moje zapytanie
UPDATE table Q SET Q.is_active = FALSE ,Q.is_delete = TRUE WHERE Q.name = 'XYZ';
Wynik: BŁĄD: kolumna „q” relacji „tabela” nie istnieje
Rozwiązanie Czy nie musisz używać allis dla wartości danych SET
źródło