Mega Code Archive

 
Categories / PostgreSQL / Data Type
 

Declare Text type variable

postgres=# CREATE TABLE employee ( postgres(#     ID         int, postgres(#     name       varchar(10), postgres(#     salary     real, postgres(#     start_date date, postgres(#     city       varchar(10), postgres(#     region     char(1) postgres(# ); CREATE TABLE postgres=# postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (1,  'Jason', 40420,  '02/01/94', 'New York', 'W'); INSERT 0 1 postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (2,  'Robert',14420,  '01/02/95', 'Vancouver','N'); INSERT 0 1 postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (3,  'Celia', 24020,  '12/03/96', 'Toronto',  'W'); INSERT 0 1 postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (4,  'Linda', 40620,  '11/04/97', 'New York', 'N'); INSERT 0 1 postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (5,  'David', 80026,  '10/05/98', 'Vancouver','W'); INSERT 0 1 postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (6,  'James', 70060,  '09/06/99', 'Toronto',  'N'); INSERT 0 1 postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (7,  'Alison',90620,  '08/07/00', 'New York', 'W'); INSERT 0 1 postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (8,  'Chris', 26020,  '07/08/01', 'Vancouver','N'); INSERT 0 1 postgres=# insert into employee (ID, name,    salary, start_date, city,       region) postgres-#               values (9,  'Mary',  60020,  '06/09/02', 'Toronto',  'W'); INSERT 0 1 postgres=# postgres=# select * from employee;  id |  name  | salary | start_date |   city    | region ----+--------+--------+------------+-----------+--------   1 | Jason  |  40420 | 1994-02-01 | New York  | W   2 | Robert |  14420 | 1995-01-02 | Vancouver | N   3 | Celia  |  24020 | 1996-12-03 | Toronto   | W   4 | Linda  |  40620 | 1997-11-04 | New York  | N   5 | David  |  80026 | 1998-10-05 | Vancouver | W   6 | James  |  70060 | 1999-09-06 | Toronto   | N   7 | Alison |  90620 | 2000-08-07 | New York  | W   8 | Chris  |  26020 | 2001-07-08 | Vancouver | N   9 | Mary   |  60020 | 2002-06-09 | Toronto   | W (9 rows) postgres=# postgres=# -- Using SELECT INTO with multiple columns postgres=# postgres=# CREATE FUNCTION get_data (integer) RETURNS text AS ' postgres'#   DECLARE postgres'# postgres'#     -- Declare aliases for user input. postgres'#     e_id ALIAS FOR $1; postgres'# postgres'#     -- Declare variables to hold the customer name. postgres'#     fname TEXT; postgres'#     cityname TEXT; postgres'# postgres'#   BEGIN postgres'#     SELECT INTO fname, cityname postgres'#                 name, city postgres'#                 FROM employee WHERE id = e_id; postgres'# postgres'#      -- If a match could not be found, return -1 (another function calling postgres'#      -- this function could then be made to interpret a -1 as an error. postgres'#     IF NOT FOUND THEN postgres'#       return -1; postgres'#     END IF; postgres'# postgres'#     -- Return the name. postgres'#     RETURN fname || '' '' || cityname; postgres'# postgres'#   END; postgres'# ' LANGUAGE 'plpgsql'; CREATE FUNCTION postgres=# postgres=# SELECT get_data(107);  get_data ----------  -1 (1 row) postgres=# postgres=# postgres=# drop function get_data(integer); DROP FUNCTION postgres=# drop table employee; DROP TABLE postgres=#