sql >> Database teknologi >  >> RDS >> Oracle

Oracle:kopier række, mens du opdaterer ét felt til tabel med mange kolonner

En nem måde at gøre dette på er en anonym PL/SQL-blok og brugen af ​​ROWTYPE :

-- setup test table
create table my_table(pk, value) as
  select 17 pk, 'abc' value from dual;

declare
  l_data my_table%rowtype;
begin
  -- fetch the row we want to copy
  select * into l_data from my_table tbl where tbl.pk = 17; 
  -- update all fields that need to change
  l_data.pk := 18;
  -- note the lack of parens around l_data in the next line
  insert into my_table values l_data; 
end;



  1. ExecuteNonQuery returnerer -1 ved brug af sql COUNT på trods af forespørgselsstrengen

  2. Underforespørgsels rand()-kolonne revurderet for hver gentagen valg i MySQL 5.7/8.0 vs. MySQL 5.6

  3. Konverter mysql LONGTEXT-værdi til VARCHAR-værdi?

  4. SQL rækker i kolonner