Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1777|回复: 0

'postgreSQL日期问题(接上贴) □

  [复制链接]

该用户从未签到

发表于 2011-10-31 14:12:24 | 显示全部楼层 |阅读模式
上贴:

http://topic.csdn.net/u/20111027 ... 0-76135a44d407.html

随带wen一下:

select january = date_trunc('year', TIMESTAMP report_date_var);zhe样赋zhi不可以吗?

select result=sum(amount)
from v_mp_fee_finish_sum_gls
where parent_id=parent_id_var and report_date between january and report_date_var and indic2ators_id=indicators_id_var;zhe样赋值ye不ke以吗;

我在测试函数的shi候出现:
edmms=# select fwgs_design_add_green(1,'2011-06-02','2011-10-27');
cuo误: dui于结guo数据,查询没有mu标
ti示: 如果您想要放弃SELECT语句的jieguo,请使用PERFORM.
背景: 在SQL语句的第4行的PL/pgSQL函数"fwgs_design_add_green"

这yang能说明我创jian的函數nei部有语法cuo误嗎?
歡迎來到Java学习者论坛,轉载请zhu明地址:http://www.javaxxz.com.
回复

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:12:31 | 显示全部楼层

Re:

高手快出来!
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-10-31 14:12:38 | 显示全部楼层

Re:

select january = date_trunc('year', TIMESTAMP report_date_var);这样赋值不可以嗎?
select result=sum(amount)
from v_mp_fee_finish_sum_gls
where parent_id=parent_id_var and report_date between january and report_date_var and indicators_id=indicators_id_var;这樣賦值也不可以吗;

不行,参考上个帖子
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:12:47 | 显示全部楼层

Re:

我在测试函数的时候出現:
edmms=# select fwgs_design_add_green(1,'2011-06-02','2011-10-27');
错误: 对于结果数据,查询没有目标
提示: 如果您想要放棄SELECT语句的结果,请使用PERFORM.
背景: 在SQL语句的第4行的PL/pgSQL函数"fwgs_design_add_green"

这样能说明我创建的函数内部有语法错误嗎?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:12:57 | 显示全部楼层

Re:

是语法错误, 不能照搬MSSQL ,  
函数里的语句应该为:
...
BEGIN
...
january = date_trunc('year', TIMESTAMP report_date_var);
select sum(amount) INTO result
from v_mp_fee_finish_sum_gls
where parent_id=parent_id_var and report_date between january and report_date_var and indicators_id=indicators_id_var;
...
end
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:13:31 | 显示全部楼层

Re:

是调试、建立 ?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:13:46 | 显示全部楼层

Re:

還有在java怎样去调用postgreSQL中的存储过程(或者函数)
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:13:53 | 显示全部楼层

Re:

如果在sqlserver有一个存儲过程要在postgreSQL中实现,是不是要写成创建函数的显示?

转:
postgresql的存储过程,在java中如何使用。http://www.chinaunix.net/jh/18/116278.html

POSTGRESQL的JDBC中的存储过程
http://www.chinaunix.net 作者:joint 发表于:2003-07-16 23:29:26

1. 從www.postgresql.org下载最新的postgresql-snapshot.tar.gz, ant from apache;
2. setting ANT_HOME
3. ../configure --with-java; make; make install

FUNCTION 和 JAVA 代码参考了jdbc.postgresql.org mailing list里面的内容.  

CREATE TABLE users (id int, name varchar(32));

CREATE OR REPLACE FUNCTION sp_users_select () RETURNS refcursor
  AS '
declare ref refcursor;
begin  
open ref for select * from users;
return ref;
end;
' LANGUAGE plpgsql;

import java.lang.*;
import java.sql.*;

public class pc
{
public static void main(String[] args)
throws Exception
{
String driver = "org.postgresql.Driver";
String url = "jdbc:postgresql://localhost:5432/nop";
String user = "nop";
String passwd = "nop";

Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, passwd);

conn.setAutoCommit(false); // return refcursor must within a transaction

CallableStatement proc = conn.prepareCall("{ ? = call sp_users_select () }";
proc.registerOutParameter(1, Types.OTHER);
proc.execute();  

ResultSet result = (ResultSet) proc.getObject(1);
System.out.println(result);  

while(result.next())  
{  
System.err.println("Name : " + result.getString(2));  
}  

conn.commit();
}
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-21 23:07 , Processed in 0.400575 second(s), 45 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表