[英]SQL - Select Columns from table where another table column value equals column name list
[英]sql statement to select value from a table where that table's name is from another table
我有一個主列表,其中包含userID
和tableName
列。 在另一個模式中,我有多個帶有相應tableName
表,每個表都具有相同的結構。 我正在尋找一個查詢,當我使用userID
作為參數調用它時,它會從主表中查找相關的 tableName,然后修改該表中的某個列。
你需要這樣的功能:
CREATE FUNCTION schname.funcname(_userid integer)
RETURNS INT
LANGUAGE 'plpgsql'
AS
$BODY$
DECLARE vartab TEXT;
DECLARE count_var INTEGER;
BEGIN
SELECT tableName FROM table1
WHERE userID = $1 INTO vartab;
EXECUTE FORMAT('UPDATE otherschema.%I SET some_col = some_val WHERE some_cond', vartab);
GET DIAGNOSTICS count_var = ROW_COUNT;
RETURN count_var;
END;
$BODY$;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.