postgreSQL日期问题(接上贴)

weiluo12 2011-10-27 03:54:24
上贴:

http://topic.csdn.net/u/20111027/11/fb76c317-9b1e-447c-a7a0-76135a44d407.html

随带问一下:

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;这样赋值也不可以吗;

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

这样能说明我创建的函数内部有语法错误吗?
...全文
264 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2011-10-28
  • 打赏
  • 举报
回复
january := date_trunc('year', TIMESTAMP report_date_var);
wwwwb 2011-10-28
  • 打赏
  • 举报
回复
如果在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();
}
}
weiluo12 2011-10-28
  • 打赏
  • 举报
回复
还有在java怎样去调用postgreSQL中的存储过程(或者函数)
weiluo12 2011-10-28
  • 打赏
  • 举报
回复
postgreSQL中是不是没有procedure那样在sqlserver中监理存储过程?

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



谢谢!!!
wwwwb 2011-10-28
  • 打赏
  • 举报
回复
是调试、建立 ?
weiluo12 2011-10-28
  • 打赏
  • 举报
回复
postgreSQL中存储过程怎样弄啊?
trainee 2011-10-27
  • 打赏
  • 举报
回复
是语法错误, 不能照搬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
weiluo12 2011-10-27
  • 打赏
  • 举报
回复
我在测试函数的时候出现:
edmms=# select fwgs_design_add_green(1,'2011-06-02','2011-10-27');
错误: 对于结果数据,查询没有目标
提示: 如果您想要放弃SELECT语句的结果,请使用PERFORM.
背景: 在SQL语句的第4行的PL/pgSQL函数"fwgs_design_add_green"


这样能说明我创建的函数内部有语法错误吗?
WWWWA 2011-10-27
  • 打赏
  • 举报
回复
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;这样赋值也不可以吗;

不行,参考上个帖子
weiluo12 2011-10-27
  • 打赏
  • 举报
回复
高手快出来!
PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为PostgreSQL. PostgreSQL支持大部分SQL标准并且提供了许多其它现代特性:复杂查询、外键、触发器、视图、事务完整性等。 PostgreSQL 是一个免费的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。 事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。 Inprise 的 InterBase 以及SAP等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。从技术角度来讲,PostgreSQL 采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 口。而不同的客户端口都是源自这个 C 口,比如ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同时也要指出的是,PostgreSQL口的支持也是非常丰富的,几乎支持所有类型的数据库客户端口。这一点也可以说是 PostgreSQL 一大优点。 本课程作为PostgreSQL数据库管理一,主要讲解以下内容:1.     PostgreSQL安装和环境准备2.     PostgreSQL数据查询3.     PostgreSQL 数据过滤4.     PostgreSQL 多表的联5.     PostgreSQL数据的分组6.     PostgreSQL合集的操作7.   PostgreSQL 合集的分组

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧