存储过程:
create procedure procddd
@BH char(10) OUTPUT
AS
declare @BH1 char(10)
declare @TODAY char(6)
begin
select @TODAY=right(convert(char(8),getdate(),112),6)
select @BH1=BH from SEED
if @BH1 is null or left(@BH1,6)<>@TODAY
begin
select @BH1=@TODAY+'0000'
end
select @BH1=left(@BH1,6)+right('0000' + ltrim(convert(char(4),convert(int,right(@BH1,4)))+1),4)
update seed set BH=@BH1
SET @BH=@BH1
return @BH
end
java程序:
java.sql.CallableStatement sqlstmt=con.prepareCall("{?=call procdd()}");
sqlstmt.registerOutParameter(1, java.sql.Types.CHAR);//注册输出参数
String str= sqlstmt.getString(1);
create procedure procddd
@BH char(10) OUTPUT
AS
declare @BH1 char(10)
declare @TODAY char(6)
begin
select @TODAY=right(convert(char(8),getdate(),112),6)
select @BH1=BH from SEED
if @BH1 is null or left(@BH1,6)<>@TODAY
begin
select @BH1=@TODAY+'0000'
end
select @BH1=left(@BH1,6)+right('0000' + ltrim(convert(char(4),convert(int,right(@BH1,4)))+1),4)
update seed set BH=@BH1
SET @BH=@BH1
return @BH
end
java程序:
java.sql.CallableStatement sqlstmt=con.prepareCall("{?=call procdd()}");
sqlstmt.registerOutParameter(1, java.sql.Types.CHAR);//注册输出参数
String str= sqlstmt.getString(1);
mysql5以前的版本好像都不支持的
cs = connection.prepareCall("{call myprocout(?)}");
// Register the type of the OUT parameter
cs.registerOutParameter(1, Types.VARCHAR);
// Execute the stored procedure and retrieve the OUT value
cs.execute();
String outParam = cs.getString(1); // OUT parameter