SQL Functions - PostgreSQL


 
Thread Tools Search this Thread
Top Forums Programming SQL Functions - PostgreSQL
# 1  
Old 09-04-2010
SQL Functions - PostgreSQL

Hi guys.

I have some questions about SQL functions in postgresql:

1. Can a SQL function call another SQL function?
2. How about recursive calls?
3. Consider we have function that has a varchar argument.

CREATE FUNCTION func(varchar) RETURN void AS $$
some SQL queries.
$$ LANGUAGE SQL;

Should we define the argument, varchar or we should define the length too like varchar(20)? How about return values?
4. consider this example:
we have table named student and a function like this: it only gets a student row and add that row to the student table.

CREATE FUNCTION add_new(student) RETURNS void AS $$
INSERT INTO student VALUES ($1);
$$ LANGUAGE SQL;

is this function syntactically right?

Thank you very much.
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. High Performance Computing

Postgresql Database Corrupt

I am managing a linux cluster which has been build on Platform Cluster Manager PCM 1.2.1) from IBM Platform Computing. Unfortunately somebody deteled data files of postgresql from /var/lib directory. I somehow managed to start the postmaster service again, but all the administrative commands of... (2 Replies)
Discussion started by: ahsanpmd
2 Replies

2. Shell Programming and Scripting

How to execute functions or initiate functions as command line parameters for below requirement?

I have 7 functions those need to be executed as command line inputs, I tried with below code it’s not executing function. If I run the ./script 2 then fun2 should execute , how to initiate that function I tried case and if else also, how to initiate function from command line if then... (8 Replies)
Discussion started by: saku
8 Replies

3. Solaris

Postgresql installation

Hi all, I want to install two postgreql 8.3.5 instances on same servers. already one instalce is running on default port and i need it to be installed on another port.. How ever i achived installing the second instance.. but the problem is if i create a new user using createuser in the newly... (3 Replies)
Discussion started by: phani4u
3 Replies

4. UNIX and Linux Applications

PostgreSQL problem with vacuumdb

I am trying to run vacuumdb script. but it exits with an error: "ld.so.1: vacuumdb:fatal libpq.so.5 open failed no such file or directory" same error is with some other pstgre commands. please, help. thanks. edit: it seems I need to set LD_LIBRARY_PATH properly. but how to add to it?... (0 Replies)
Discussion started by: orange47
0 Replies

5. Solaris

Determining PostgreSQL version

I need to find out if a version of PostgreSQL installed in SPARC Solaris is > 7.2 please tell me how to do it. thanks. (4 Replies)
Discussion started by: orange47
4 Replies

6. UNIX for Dummies Questions & Answers

PostgreSQL - can not find server

I am first year year student .. and i need help i tried to work with PostgreSQL but when i open the terminal, i face problem in how to reach to PostgreSQL . always i get message it says that " can not find server " . so what shall i do please .....:( (9 Replies)
Discussion started by: barlom
9 Replies

7. Programming

kill - postgresql

Hi guys. I was was designing a simple database in postgresql. I wrote a perl function in postgresql and execute it. suddenly i saw that it is running in an infinite loop. After i stopped executing of the query, i saw that CPU is in 90%+ load. I looked at process list and there it was. postgresql... (1 Reply)
Discussion started by: majid.merkava
1 Replies

8. Programming

Trouble with Date Variables and Functions in PL/SQL

Hi, In the course of my script i have to compare SYSDATE with the 15th of the current month: if it is greater than i should set a variable date to 15th of the next month if less than i should set it to the 15th of the current month. In other words the question is how to set a date variable... (2 Replies)
Discussion started by: fmina
2 Replies
Login or Register to Ask a Question
SQL::Translator::Parser::PostgreSQL(3pm)		User Contributed Perl Documentation		  SQL::Translator::Parser::PostgreSQL(3pm)

NAME
SQL::Translator::Parser::PostgreSQL - parser for PostgreSQL SYNOPSIS
use SQL::Translator; use SQL::Translator::Parser::PostgreSQL; my $translator = SQL::Translator->new; $translator->parser("SQL::Translator::Parser::PostgreSQL"); DESCRIPTION
The grammar was started from the MySQL parsers. Here is the description from PostgreSQL: Table: (http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=sql-createtable.html) CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( { column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ] | table_constraint } [, ... ] ) [ INHERITS ( parent_table [, ... ] ) ] [ WITH OIDS | WITHOUT OIDS ] where column_constraint is: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | UNIQUE | PRIMARY KEY | CHECK (expression) | REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL ] [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] and table_constraint is: [ CONSTRAINT constraint_name ] { UNIQUE ( column_name [, ... ] ) | PRIMARY KEY ( column_name [, ... ] ) | CHECK ( expression ) | FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH FULL | MATCH PARTIAL ] [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] Index: (http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=sql-createindex.html) CREATE [ UNIQUE ] INDEX index_name ON table [ USING acc_method ] ( column [ ops_name ] [, ...] ) [ WHERE predicate ] CREATE [ UNIQUE ] INDEX index_name ON table [ USING acc_method ] ( func_name( column [, ... ]) [ ops_name ] ) [ WHERE predicate ] Alter table: ALTER TABLE [ ONLY ] table [ * ] ADD [ COLUMN ] column type [ column_constraint [ ... ] ] ALTER TABLE [ ONLY ] table [ * ] ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT } ALTER TABLE [ ONLY ] table [ * ] ALTER [ COLUMN ] column SET STATISTICS integer ALTER TABLE [ ONLY ] table [ * ] RENAME [ COLUMN ] column TO newcolumn ALTER TABLE table RENAME TO new_table ALTER TABLE table ADD table_constraint_definition ALTER TABLE [ ONLY ] table DROP CONSTRAINT constraint { RESTRICT | CASCADE } ALTER TABLE table OWNER TO new_owner View table: CREATE [ OR REPLACE ] VIEW view [ ( column name list ) ] AS SELECT query AUTHORS
Ken Y. Clark <kclark@cpan.org>, Allen Day <allenday@ucla.edu>. SEE ALSO
perl(1), Parse::RecDescent. perl v5.14.2 2012-05-01 SQL::Translator::Parser::PostgreSQL(3pm)