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

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.

主站蜘蛛池模板: 铅山县| 喀什市| 高邮市| 桂平市| 平和县| 乌兰察布市| 沙洋县| 双江| 志丹县| 万年县| 合山市| 互助| 泰宁县| 高雄市| 漯河市| 曲周县| 合阳县| 南通市| 美姑县| 阿克陶县| 梁山县| 遵义市| 亚东县| 鲜城| 青阳县| 石渠县| 永川市| 城固县| 永寿县| 个旧市| 鄂托克旗| 临江市| 永泰县| 杭州市| 凤台县| 绩溪县| 怀安县| 纳雍县| 金乡县| 浦江县| 虎林市|