Как сохранить результат запроса INSERT из Oracle, используя PHP - PullRequest
0 голосов
/ 22 марта 2020

Как сохранить результат запроса INSERT из Oracle, используя PHP?

Поэтому, когда он INSERT INTO DODATEK VALUES (1,'Foo');

, я хочу сохранить его в файле.

Мой код

$execute = "INSERT INTO DODATEK VALUES (NVL((select max(dodatekid)+1 from DODATEK), 1),'$randomString')";

$ex = oci_parse($connection,$execute);
$file = 'file.txt';
$current = file_get_contents($file);

for ($i = 1; $i <= $how_many; $i++) {
    oci_execute($ex);
    $current .= oci_execute($ex)."\n";
// Write the contents back to the file
    file_put_contents($file, $current);

}

Результат, который я получаю, это число хороших результатов (1111)

1 Ответ

0 голосов
/ 22 марта 2020

Предполагая, что вам нужна помощь в решении проблемы Oracle, вы, вероятно, захотите использовать предложение RETURNING INTO :

Предложение возврата указывает возвращаемые значения из операторов DELETE, EXECUTE IMMEDIATE, INSERT и UPDATE. Вы можете извлечь значения столбца в отдельные переменные или в коллекции. Вы не можете использовать предложение RETURNING для удаленного или параллельного удаления.

Тогда вам просто нужно связать выходной параметр, и все готово.

PS Если вы на самом деле не хотите повторно использовать dodatekid значения при удалении строк, вы также можете посмотреть Oracle последовательности.

...