Предположим, что я сгенерировал PK для своей таблицы БД SQL Server с помощью функции newid()
. В Java
я могу сделать что-то вроде этого:
...
String query = "DECLARE @newGuid uniqueidentifier "+
"SET @newGuid = newid() "+
"INSERT INTO myTable(id, stringval) "+
"VALUES (@newGuid, "Hello") "+
"SELECT uid FROM @newGuid";
PreparedStatement ps = conn.prepareStatement(query);
ResultSet rs = ps.executeQuery();
String uid = rs.getString("uid");
Но когда я пытаюсь сделать это с Delphi + ADO, я застреваю, потому что ADO
может либо получить данные из БД (Open
метод AdoQuery
), либо поместить данные в БД (ExecSQL
метод). Поэтому я не могу вставить новое значение в таблицу и впоследствии получить значение параметра.