簡體   English   中英

從表中選擇值的sql語句,該表的名稱來自另一個表

[英]sql statement to select value from a table where that table's name is from another table

我有一個主列表,其中包含userIDtableName列。 在另一個模式中,我有多個帶有相應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.

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