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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.148.105