Podczas mojej pracy zazwyczaj muszę skopiować wiersze podczas zmiany klucza podstawowego i nadać im nowy znaczek, a może zmienić klucz obcy.Kopiowanie wiersza w tej samej tabeli bez konieczności wpisywania nazw kolumn 50+ (podczas zmiany 2 kolumn)
Problem polega na tym, że nie chcę wpisywać wszystkich nazw kolumn podczas wykonywania;
insert into table_name
select pk_seq.nextval,
'foreign-key',
col3,
col4...col51
from table_name
where pk_id = "original_primary_key"
A jeśli robię * w SELECT i nie będzie w stanie zaktualizować pierwszych 2 kolumny ...
Czy istnieje jakiś sposób, aby zrobić jak chcę to zrobić?
+1: niejawny kursor, nice! –
Czy jest inny rodzaj? ;-) –
+1 Nicea. Uwaga dla osób spoza Oracle 11g, wiersz 'r.pk: = pk_seq.nextval;' powinien zostać zamieniony przez 'wybierz pk_seq.nextval na r.pk z dual;' –