Предположим, что я создаю PK для таблицы SQL-сервера SQL Server с помощью функции newid()
. В Java
я могу сделать что-то вроде этого:Как получить значение uniqueidentifier, сгенерированное при вставке в Delphi ADO?
...
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
способ). Поэтому я не могу вставить новое значение в таблицу и после этого получить значение параметра.