加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

postgresql动态拼接sql的注意点

(2013-08-16 10:04:44)
标签:

拼接字符串

postgresql

分类: 菜鸟DB开发之Postgresql
-----------------------------------------------------------------------------------------------
       本文为个人笔记,仅供参考,希望对您的疑问有所帮助。欢迎转载,转载请注明出处。谢谢!
-----------------------------------------------------------------------------------------------
测试表:mystu
CREATE TABLE "mystu" (
"sid" int4,
"sname" varchar(20),
"status" int2
)
select * from mystu;
http://s2/mw690/4c197d42tx6C3pvXnPPa1&690
--select 语句
select sid,sname,status,'select '||sid ||' as sid,'||(case when (coalesce(sname,'')='') then 'null' else ''''||sname||'''::varchar' end)||' as sname, '||(case when (coalesce(status::VARCHAR,'')='') then 'null' else status::VARCHAR end)||' as status;' as select_sql
from mystu;
http://s9/mw690/4c197d42tx6C3pvZocU28&690

--insert 语句(update 语句同理)
select sid,sname,status,'insert into mystu values('||sid ||','||(case when (coalesce(sname,'')='') then 'null' else ''''||sname||'''::varchar' end)||', '||(case when (coalesce(status::VARCHAR,'')='') then 'null' else status::VARCHAR end)||');' as insert_sql
from mystu;
http://s8/mw690/4c197d42tx6C3pw1a7l87&690

output_example:
select 1 as sid,'AA'::varchar as sname, 1 as status
select 5 as sid,'CC'::varchar as sname, null as status;
insert into mystu values(1,'AA'::varchar , 1);
insert into mystu values(5,'CC'::varchar , null);

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有