Hi Magnus,

Yes, this is the situation that I have been thinking about. Specifically
when a single stored procedure returns many recordsets.

Perhaps I should also clarify that the "spec" I have been using is
the JDK javadoc documentation.

Using java with Magnus' procedure:
  CallableStatement cs = connection.prepareCall("call get_info_for_user ?");
  cs.setString(1, "test");
  if(cs.execute()) {
     ResultSet rs = cs.getResultSet();
     while(rs != null) {
       // Process rs
     }
  }

Regards,
Grant

Magnus Hagander wrote:
[snip]

Not a user of JDBC, but this is fairly common in the ADO/ADO.NET world with MS SQL Server as well (not sure about other dbs and .NET - I'ev only used it with mssql and pgsql)... As for an example, something along the line of (though in my cases usually with a *lot* more parameters):

--
CREATE PROCEDURE get_info_for_user(@userid varchar(16)) AS
 SELECT something FROM contentstable WHERE [EMAIL PROTECTED]

 SELECT whatever,somethingelse FROM anothertable WHERE
something=anything
--

You get the point :-)
Then in my .net code I'd do a simple:
SqlDataReader rdr = cmd.ExecuteReader();
... process first result ...
rdr.NextResult();
... process second result...


---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster

Reply via email to