上贴: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"这样能说明我创建的函数内部有语法错误吗?

解决方案 »

  1.   

    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;这样赋值也不可以吗;不行,参考上个帖子
      

  2.   

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

  3.   

    是语法错误, 不能照搬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
      

  4.   

    january := date_trunc('year', TIMESTAMP report_date_var);
      

  5.   

    postgreSQL中存储过程怎样弄啊?
      

  6.   

    postgreSQL中是不是没有procedure那样在sqlserver中监理存储过程?

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

    谢谢!!!
      

  7.   

    还有在java怎样去调用postgreSQL中的存储过程(或者函数)
      

  8.   

    如果在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();
     }
     }