forked from docs/doc-exports
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
7.3 KiB
7.3 KiB
DO
Function
DO executes an anonymous code block.
A code block is a function body without parameters that returns void. It is analyzed and executed at the same time.
Precautions
- Before using a programming language, install it in the current database using CREATE LANGUAGE. If no language is specified, plpgsql is installed by default.
- To use an untrusted language, you must be a system administrator or have the USAGE permission for programming languages.
Syntax
1 | DO [ LANGUAGE lang_name ] code; |
Parameter Description
- lang_name
Parses the programming language used by the code. If not specified, the default value plpgsql is used.
- code
Specifies executable programming language code. The language is specified as a string.
Examples
Grant user webuser all the operation permissions on views in the tpcds schema.
1 2 3 4 5 6 7 8 | DO $$DECLARE r record; BEGIN FOR r IN SELECT c.relname,n.nspname FROM pg_class c,pg_namespace n WHERE c.relnamespace = n.oid AND n.nspname = 'tpcds' AND relkind IN ('r','v') LOOP EXECUTE 'GRANT ALL ON ' || quote_ident(r.table_schema) || '.' || quote_ident(r.table_name) || ' TO webuser'; END LOOP; END$$; |
Parent topic: DCL Syntax