Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Rufen Sie eine gespeicherte Prozedur mit Tabellenwertparametern aus Java auf

Dies ist hier im JDBC-Treiberhandbuch dokumentiert. In Ihrem Fall müssten Sie Folgendes tun:

try (SQLServerCallableStatement stmt =
    (SQLServerCallableStatement) con.prepareCall("{call test(?)}")) {

    SQLServerDataTable table = new SQLServerDataTable();   
    sourceDataTable.addColumnMetadata("n", java.sql.Types.INTEGER);   

    sourceDataTable.addRow(9);
    sourceDataTable.addRow(12);
    sourceDataTable.addRow(27);
    sourceDataTable.addRow(37);

    stmt.setStructured(1, "dbo.integer_list_tbltype", table);  
}

Ich habe dies auch kürzlich in einem Artikel dokumentiert.