91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL中USER關鍵字如何使用

發布時間:2021-07-23 15:18:05 來源:億速云 閱讀:384 作者:Leah 欄目:大數據

這篇文章將為大家詳細講解有關PostgreSQL中USER關鍵字如何使用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

有人從MySQL改用PG,用戶表大概這么個結構

CREATE TABLE "user"(
userid int,
username text,
...
)

不加雙引號是不可以的,USER是保留關鍵字。
猜測建表用的是某種GUI工具,自動給表名加雙引號,所以創建是沒有問題的。

通過JDBC運行SQL:SELECT * FROM user;
然后 rs.getString(2) 試圖取出用戶名,被告知超過列數范圍。直到注意到這個表名叫user,問題才得以解決。

我們來試試,兩種方式都是可以的

flying=# select user;
  user
--------
 quanzl
(1 row)

flying=# select * from user;
  user
--------
 quanzl
(1 row)

user是個什么語法元素?既能出現在target列表看起來是個偽列,又能出現在FROM列表看起來是個返回結果集的偽表(這個詞我自己發明的)。前者容易理解,我們看看后者。

from_clause:
      FROM from_list              { $$ = $2; }
      | /*EMPTY*/                { $$ = NIL; }
    ;

from_list:
      table_ref                { $$ = list_make1($1); }
      | from_list ',' table_ref        { $$ = lappend($1, $3); }
    ;

這是FROM子句的語法定義,其中 table_ref 的部分定義

      | func_table func_alias_clause
        {
          RangeFunction *n = (RangeFunction *) $1;
          n->alias = linitial($2);
          n->coldeflist = lsecond($2);
          $$ = (Node *) n;
        }

func_table定義

func_table: func_expr_windowless opt_ordinality

 func_expr_windowless定義

func_expr_windowless:
      func_application            { $$ = $1; }
      | func_expr_common_subexpr        { $$ = $1; }
    ;

在func_expr_common_subexpr語法結構里

      | USER
        {
          $$ = makeSQLValueFunction(SVFOP_USER, -1, @1);
        }

FROM user 就是這么來的。

關于PostgreSQL中USER關鍵字如何使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平湖市| 电白县| 隆子县| 兴义市| 澜沧| 哈密市| 鞍山市| 四子王旗| 宣武区| 呈贡县| 从化市| 黑龙江省| 大厂| 东阳市| 罗甸县| 松江区| 陇南市| 新巴尔虎右旗| 措美县| 遵化市| 西昌市| 潼关县| 乐陵市| 芦溪县| 项城市| 乐安县| 四会市| 竹溪县| 龙胜| 安康市| 济阳县| 新巴尔虎右旗| 尼木县| 富源县| 阿拉尔市| 栾城县| 莒南县| 噶尔县| 工布江达县| 松潘县| 龙泉市|