官术网_书友最值得收藏!

Acting on the function's results

The previous example showed one way to retrieve, and further process, function results. The following are a few more useful ways to call a function:

SELECT fib(25);
SELECT (flatten_application_settings('9.08.97')).*;
SELECT * FROM flatten_application_settings('9.08.97');

Any of the preceding methods will create a legal field list in PostgreSQL, which, in turn, can be used in any way the fields in a simple SELECT statement on a table are used.

The example in the previous section used the results of the flatten_application_settings() function, a source of data for an INSERT statement. The following is an example of how to use the same function as a data source for UPDATE:

UPDATE application_settings_new 
   SET full_name = flat.full_name,
       description  = flat.description,
       print_certificate = flat.print_certificate,
       show_advertisements = flat.show_advertisements,
       show_splash_screen = flat.show_splash_screen  
  FROM flatten_application_settings('9.08.97') flat;

Using the application version as a key, we can update the records in the new table. Isn't this a really handy way to keep up with the changes to the application settings, while both the old and new applications are still active? I'll take any compliments in the form of cash (or beer), please.

主站蜘蛛池模板: 张家口市| 姜堰市| 澄江县| 喜德县| 邯郸市| 商都县| 隆德县| 龙山县| 乐陵市| 乐平市| 临海市| 宣武区| 石阡县| 来凤县| 永嘉县| 洱源县| 上饶市| 鲁甸县| 长岛县| 綦江县| 平和县| 屏东县| 靖安县| 辰溪县| 丰台区| 霍林郭勒市| 霞浦县| 抚州市| 辉南县| 尤溪县| 昌邑市| 克东县| 阜城县| 宁蒗| 石嘴山市| 平昌县| 上思县| 大邑县| 永吉县| 洪洞县| 峨山|