100% found this document useful (1 vote)
622 views3 pages

SQL/XML Presentation Scripts

SQL to follow along with the presentation at: http://www.scribd.com/doc/2402063/SQLXML-For-Postgres-Developers

Uploaded by

Lewis Cunningham
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
Download as txt, pdf, or txt
100% found this document useful (1 vote)
622 views3 pages

SQL/XML Presentation Scripts

SQL to follow along with the presentation at: http://www.scribd.com/doc/2402063/SQLXML-For-Postgres-Developers

Uploaded by

Lewis Cunningham
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1/ 3

SQL to follow along with the presentation at:

http://www.scribd.com/doc/2402063/SQLXML-For-Postgres-Developers

Slide 25

CREATE TABLE EMP


(
LAST_NAME text,
EMP_ID integer NOT NULL,
FIRST_NAME text,
DEPT_ID integer,
SALARY integer,
CONSTRAINT EMP_pkey PRIMARY KEY (EMP_ID)
)
WITH (OIDS=FALSE);
ALTER TABLE EMP OWNER TO xmluser;

Slide 26

INSERT INTO
EMP(
LAST_NAME, EMP_ID, FIRST_NAME, DEPT_ID, SALARY)
VALUES
('Blow', 1, 'Joe', 1, 10000),
('Head', 2, 'Helmut', 1, 12000),
('Jack', 3, 'Noe', 1, 12000),
('Hard', 4, 'Blow', 2, 20000),
('First', 5, 'Hugo', 2, 21000),
('Spaem',6, 'Kingoof', 2, 20000),
('Ventura', 7, 'Ace', 3, 35000),
('Nickleby', 8, 'Nick', 3, 400000),
('Budd', 9, 'Billy', 4, 99000),
('Cleaver', 10, 'Wally', 4, 100000) ;

Slide 29

SELECT xmlelement(name main, last_name) from emp;

Slide 30

SELECT xmlelement(name main, last_name),


xmlelement(name main, first_name)
FROM emp;

Slide 31

SELECT XMLForest(last_name, first_name)


FROM emp;

Slide 32

SELECT xmlelement(name main,


xmlforest(last_name, first_name) )
FROM emp;
Slide 33

SELECT XMLAgg(
XMLForest(last_name, first_name) )
FROM emp;

Slide 34

SELECT XMLElement(name main,


XMLAgg(XMLForest(last_name, first_name) ))
FROM emp;

Slide 35

SELECT XMLElement(name main, XMLAttributes(nextval('t_seq') AS rownum) )


FROM emp;

Slide 36

CREATE TEMP SEQUENCE t_seq;

SELECT xmlelement(name main, xmlattributes(nextval('t_seq') AS rownum),


xmlforest(last_name, first_name) )
FROM emp;

DROP SEQUENCE t_seq;

Slide 38

SELECT xmlelement(name main,


xmlforest(last_name || first_name AS fullname, salary) )
FROM emp;

Slide 39

SELECT xmlelement(name main,


xmlelement(name fullname, xmlattributes(dept_id), last_name ||
first_name ),
xmlforest(salary) )
FROM emp;

Slide 40

SELECT xmlelement(name main, xmlcomment('Each Name Goes Here'),


xmlforest(last_name, first_name))
FROM emp;

Slide 41

SELECT xmlelement(name lastname, last_name),


xmlelement(name firstname, first_name)
FROM emp;

Slide 42

SELECT xmlconcat(
xmlelement(name lastname, last_name),
xmlelement(name firstname, first_name) )
FROM emp;

Slide 43

SELECT xmlelement(name main, xmlconcat(


xmlelement(name lastname, last_name),
xmlelement(name firstname, first_name) ) )
FROM emp;

Slide 44

CREATE TABLE xmltab (col1 XML);

INSERT INTO xmltab (


SELECT xmlelement(name main, xmlconcat(
xmlelement(name lastname, last_name),
xmlelement(name firstname, first_name) ) )
FROM emp);

Slide 45

SELECT * FROM xmltab;

Slide 47

SELECT xpath('/main/firstname/text()', col1) FROM xmltab;

Slide 48

SELECT textcol[1] FROM (


SELECT xpath('/main/firstname/text()', col1) AS textcol
FROM xmltab ) AS xmlsource;

Slide 49

select query_to_xml('select * from emp', TRUE, TRUE, 'scott');

Slide 50

select table_to_xml('emp', TRUE, TRUE, 'scott');

You might also like