One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
pgsql-13
/
share
/
man
/
man7
/
View File Name :
DO.7
'\" t .\" Title: DO .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Date: 2023 .\" Manual: PostgreSQL 13.13 Documentation .\" Source: PostgreSQL 13.13 .\" Language: English .\" .TH "DO" "7" "2023" "PostgreSQL 13.13" "PostgreSQL 13.13 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" DO \- execute an anonymous code block .SH "SYNOPSIS" .sp .nf DO [ LANGUAGE \fIlang_name\fR ] \fIcode\fR .fi .SH "DESCRIPTION" .PP \fBDO\fR executes an anonymous code block, or in other words a transient anonymous function in a procedural language\&. .PP The code block is treated as though it were the body of a function with no parameters, returning void\&. It is parsed and executed a single time\&. .PP The optional LANGUAGE clause can be written either before or after the code block\&. .SH "PARAMETERS" .PP \fIcode\fR .RS 4 The procedural language code to be executed\&. This must be specified as a string literal, just as in \fBCREATE FUNCTION\fR\&. Use of a dollar\-quoted literal is recommended\&. .RE .PP \fIlang_name\fR .RS 4 The name of the procedural language the code is written in\&. If omitted, the default is plpgsql\&. .RE .SH "NOTES" .PP The procedural language to be used must already have been installed into the current database by means of \fBCREATE EXTENSION\fR\&. plpgsql is installed by default, but other languages are not\&. .PP The user must have USAGE privilege for the procedural language, or must be a superuser if the language is untrusted\&. This is the same privilege requirement as for creating a function in the language\&. .PP If \fBDO\fR is executed in a transaction block, then the procedure code cannot execute transaction control statements\&. Transaction control statements are only allowed if \fBDO\fR is executed in its own transaction\&. .SH "EXAMPLES" .PP Grant all privileges on all views in schema public to role webuser: .sp .if n \{\ .RS 4 .\} .nf DO $$DECLARE r record; BEGIN FOR r IN SELECT table_schema, table_name FROM information_schema\&.tables WHERE table_type = \*(AqVIEW\*(Aq AND table_schema = \*(Aqpublic\*(Aq LOOP EXECUTE \*(AqGRANT ALL ON \*(Aq || quote_ident(r\&.table_schema) || \*(Aq\&.\*(Aq || quote_ident(r\&.table_name) || \*(Aq TO webuser\*(Aq; END LOOP; END$$; .fi .if n \{\ .RE .\} .SH "COMPATIBILITY" .PP There is no \fBDO\fR statement in the SQL standard\&. .SH "SEE ALSO" CREATE LANGUAGE (\fBCREATE_LANGUAGE\fR(7))