sql >> Databasteknik >  >> RDS >> Sqlserver

Anrop lagrad procedur med tabellvärderad parameter från java

Detta finns dokumenterat här i JDBC-drivrutinsmanualen. I ditt fall måste du göra detta:

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);  
}

Jag har också nyligen dokumenterat detta i en artikel.



  1. Hur skriver man UPPDATERA SQL med tabellalias i SQL Server 2008?

  2. PostgreSQL - inaktiverar begränsningar

  3. Hur man skapar en användare i Oracle 11g och beviljar behörigheter

  4. How to_char() Fungerar i PostgreSQL