簡體   English   中英

當我想添加具有條件值的新列時,我在 Liquibase 中收到 Sql 語法錯誤

[英]I get an Sql syntax error with Liquibase when I want to add a new column with conditional value

語境

目標

我想在表中添加一個新列。 我還希望所有現有列都有一個默認值,這取決於另一個表中另一個列的值。

我有的

我創建了一個新的變更日志文件:

在此處輸入圖像描述

問題

當我進行全新/安裝時,出現以下錯誤:

在此處輸入圖像描述

我做錯了什么?

您可以嘗試使用以下內容更改您的 SQL 更新語句並檢查它是否有效:

update assignment set location = 'SITE_TSN' from requirement where (requirement.id = assignment.requirement_id and requirement.location = 'INTRAMUROS');

在 postgres 中,當我們想根據另一個表中的值更新一個表中的數據時,我們可以使用 PostgreSQL UPDATE JOIN 語法:

UPDATE t1
SET t1.c1 = new_value
FROM t2
WHERE t1.c2 = t2.c2;

要在 UPDATE 語句中連接到另一個表,請在 FROM 子句中指定連接的表,並在 WHERE 子句中提供連接條件。 FROM 子句必須緊跟在 SET 子句之后。

對於表 t1 的每一行,UPDATE 語句檢查表 t2 的每一行。 如果表 t1 的 c2 列中的值等於表 t2 的 c2 列中的值,則 UPDATE 語句將表 t1 的 c1 列中的值更新為新值 (new_value)。

有關此 JOIN 語法的詳細示例,請訪問此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM