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

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.

主站蜘蛛池模板: 石棉县| 张家港市| 漳浦县| 昂仁县| 遵化市| 宽甸| 莱西市| 西华县| 成武县| 合肥市| 天长市| 长汀县| 奉贤区| 建昌县| 元朗区| 瓮安县| 永丰县| 邵武市| 乐亭县| 十堰市| 乃东县| 登封市| 尚义县| 丹棱县| 固阳县| 甘肃省| 泰和县| 涪陵区| 新源县| 方城县| 和硕县| 宣城市| 富蕴县| 吉安县| 旌德县| 平泉县| 武夷山市| 黄梅县| 山丹县| 大化| 安平县|