PL/pgSQL学习笔记之六
生活随笔
收集整理的這篇文章主要介紹了
PL/pgSQL学习笔记之六
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html
39.3.1. 聲明函數參數
傳遞給函數的參數被用 $1、$2等依次類推的標志符命名。作為可選項,為了提高可讀性,可以為$n 參數名稱定義別名。此后,既可以用數字標志符也可以用別名來指代參數值。
有兩種方式來創建別名。推薦使用的方法是在CREATE FUNCTION命令你個中給參數一個名字,例如:
CREATE FUNCTION sales_tax(subtotal real) RETURNS real AS $$ BEGINRETURN subtotal * 0.06; END; $$ LANGUAGE plpgsql;另外一種方法,在PostgreSQL8.0之前,是唯一的方法,它顯式聲明一個別名。采用如下的聲明語法:
name ALIAS FOR $n;
上述例子采用這種方式后變為:
CREATE FUNCTION sales_tax(real) RETURNS real AS $$ DECLAREsubtotal ALIAS FOR $1; BEGINRETURN subtotal * 0.06; END; $$ LANGUAGE plpgsql;請注意:?上述兩個例子并不是完全相同。在第一個例子中,?subtotal?可以通過?sales_tax.subtotal 來參照。但是在第二個例子中不能如此。?(如果在內部塊中給一個標簽,倒是可以用 標簽.subtotal方式來指定它)
更多的例子:
CREATE FUNCTION instr(varchar, integer) RETURNS integer AS $$ DECLAREv_string ALIAS FOR $1;index ALIAS FOR $2; BEGIN-- some computations using v_string and index here END; $$ LANGUAGE plpgsql;CREATE FUNCTION concat_selected_fields(in_t sometablename) RETURNS text AS $$ BEGINRETURN in_t.f1 || in_t.f3 || in_t.f5 || in_t.f7; END; $$ LANGUAGE plpgsql;?
轉載于:https://www.cnblogs.com/gaojian/p/3183788.html
總結
以上是生活随笔為你收集整理的PL/pgSQL学习笔记之六的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 背景色透明,里面内容(图片、文字)不透明
- 下一篇: 张正友摄像机标定的研究(MATLAB+O