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

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.

主站蜘蛛池模板: 岫岩| 安溪县| 普兰店市| 德清县| 志丹县| 南通市| 南华县| 罗城| 阜新市| 武隆县| 泾川县| 顺义区| 明溪县| 鸡泽县| 宁化县| 台州市| 桂东县| 临高县| 淮阳县| 霞浦县| 白城市| 诏安县| 宣城市| 竹北市| 于田县| 锦州市| 红桥区| 克拉玛依市| 绍兴市| 禄劝| 久治县| 泾阳县| 都江堰市| 宣恩县| 温州市| 金湖县| 田东县| 湖州市| 同江市| 安顺市| 肇州县|