jdbc программа для поиска квадрата числа с помощью оператора callable (хранимая процедура) - PullRequest
0 голосов
/ 04 августа 2009
import java .sql.*;
class Pro
{
public static void main(String args[]) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
Connection conn = DriverManager.getConnection (url,"root","password");
CallableStatement cst=conn.prepareCall("{call fileproc(?,?)}");
cst.setInt(1,10);
cst.registerOutParameter(2,Types.INTEGER);
cst.execute();
int i=cst.getInt(2);
System.out.println("the number is :" +i);
cst.close();
conn.close();
}
}

В MYSQL:

fileproc:
CREATE  PROCEDURE fileproc(IN x INT,OUT y INT)
BEGIN
y := x * x;
END;
/

Я получаю сообщение об ошибке в строке 3 перед вводом END в fileproc как

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ':= x
* x' at line 3.

каков правильный синтаксис? пожалуйста помоги. Спасибо.

1 Ответ

0 голосов
/ 20 июня 2010
mysql>create database <database-name>;
     ->use <database-name>;
      delimiter //
      Create Procedure fileproc(in x int, out y int)
      begin
      set y = x * X;
      end //
mysql> delimiter ;
mysql> call(10,@y);
mysql> Select @y;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...