位置: 编程技术 - 正文
XML内容生成部分 SQL数据生成XML的函数。 1. xmlcomment:生成注释函数。 xmlcomment(text ) 例: SELECT xmlcomment('hello'); xmlcomment -------------- <!--hello--> 2. xmlconcat:XML连接函数 xmlconcat(xml [, ...]) 例: SELECT xmlconcat('<abc/>', '<bar>foo</bar>'); xmlconcat ---------------------- <abc/><bar>foo</bar> 连接的XML数据中如果有多个版本声明的话,连接后的XML只有一个版本声明。 例: SELECT xmlconcat('<?xml version="1.1"?><foo/>', '<?xml version="1.1" standalone="no"?><bar/>'); xmlconcat ----------------------------------- <?xml version="1.1"?><foo/><bar/> 3. xmlelement:生成XML元素函数 xmlelement(name name [, xmlattributes( value [AS attname ] [, ... ])] [ , content, ... ]) 例: SELECT xmlelement(name foo); xmlelement ------------ <foo/> SELECT xmlelement(name foo, xmlattributes('xyz' as bar)); xmlelement ------------------ <foo bar="xyz"/> SELECT xmlelement(name foo, xmlattributes(current_date as bar), 'cont', 'ent'); xmlelement ------------------------------------- <foo bar="--">content</foo> 如果有非法字符的话,非常字符会用 进制的数字表示出来。 例子:SELECT xmlelement(name "foo$bar", xmlattributes('xyz' as "a&b")); xmlelement ---------------------------------- <foo_x_bar a_x_b="xyz"/> 4. xmlforest:生成XML FOREST函数 xmlforest(content [AS name ] [, ...]) 例: SELECT xmlforest('abc' AS foo, AS bar); xmlforest ------------------------------ <foo>abc</foo><bar></bar> SELECT xmlforest(table_name, column_name) FROM information_schema.columns WHERE table_schema = 'pg_catalog'; xmlforest ------------------------------------------------------------------------------------------- <table_name>pg_authid</table_name><column_name>rolname</column_name> <table_name>pg_authid</table_name><column_name>rolsuper</column_name> ... 5. xmlpi:生成XML处理命令函数。 xmlpi(name target [, content ]) 例: SELECT xmlpi(name php, 'echo "hello world";'); xmlpi ----------------------------- <?php echo "hello world";?> 6. xmlroot:修改XML值的根节点属性函数 xmlroot(xml , version text |no value [, standalone yes|no|no value]) 例子:SELECT xmlroot(xmlparse(document '<?xml version="1.1"?><content>abc</content>'), version '1.0', standalone yes); xmlroot ---------------------------------------- <?xml version="1.0" standalone="yes"?> <content>abc</content> 7. xmlagg:xmlagg是集约函数 xmlagg(xml ) 例: CREATE TABLE test (y int, x xml); INSERT INTO test VALUES (1, '<foo>abc</foo>'); INSERT INTO test VALUES (2, '<bar/>'); SELECT xmlagg(x) FROM test; xmlagg ---------------------- <foo>abc</foo><bar/> 可以用下面类型的方法改变连接顺序。 SELECT xmlagg(x) FROM (SELECT * FROM test ORDER BY y DESC) AS tab; xmlagg ---------------------- <bar/><foo>abc</foo> Processing XML 为了处理XML数据,PostgreSL中提供了xpath函数。 xpath(xpath , xml [, nsarray ]) 例: SELECT xpath('/my:a/text()', '<my:a xmlns:my=" ARRAY[ARRAY['my', ' xpath -------- {test} (1 row) XML和table的映射 以下函数可以导出XML。 table_to_xml(tbl regclass, nulls boolean, tableforest boolean, targetns text) query_to_xml(query text, nulls boolean, tableforest boolean, targetns text) cursor_to_xml(cursor refcursor, count int, nulls boolean, tableforest boolean, targetns text) 这些函数的返回值都是XML类型。 还有以下函数。具体内容可以参看用户手册。 table_to_xmlschema(tbl regclass, nulls boolean, tableforest boolean, targetns text) query_to_xmlschema(query text, nulls boolean, tableforest boolean, targetns text) cursor_to_xmlschema(cursor refcursor, nulls boolean, tableforest boolean, targetns text) table_to_xml_and_xmlschema(tbl regclass, nulls boolean, tableforest boolean, targetns text) query_to_xml_and_xmlschema(query text, nulls boolean, tableforest boolean, targetns text) schema_to_xml(schema name, nulls boolean, tableforest boolean, targetns text) schema_to_xmlschema(schema name, nulls boolean, tableforest boolean, targetns text) schema_to_xml_and_xmlschema(schema name, nulls boolean, tableforest boolean, targetns text) database_to_xml(nulls boolean, tableforest boolean, targetns text) database_to_xmlschema(nulls boolean, tableforest boolean, targetns text) database_to_xml_and_xmlschema(nulls boolean, tableforest boolean, targetns text)
推荐整理分享PostgreSQL中的XML操作函数代码,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
PostgreSQL 数据库性能提升的几个方面 1.使用EXPLAINEXPLAIN命令可以查看执行计划,在前面的blog中已经介绍过。这个方法是我们最主要的调试工具。2.及时更新执行计划中使用的统计信息由于统
PostgreSQL 创建表分区 创建表分区步骤如下:1.创建主表CREATETABLEusers(uidintnotnullprimarykey,namevarchar());2.创建分区表(必须继承上面的主表)CREATETABLEusers_0(check(uid=0anduid))INHERITS(us
PostgreSQL中的OID和XID 说明 oid:行的对象标识符(对象ID)。这个字段只有在创建表的时候使用了WITHOIDS,或者是设置了default_with_oids配置参数时出现。这个字段的类型是oid(和字
上一篇:用一整天的时间安装postgreSQL NTFS权限(一整天的时间从几点到几点)
下一篇:PostgreSQL 创建表分区
友情链接: 武汉网站建设