emetiel: Datenbank/Scriptsicherheit Datenbankfunktionen

Beitrag lesen

Hallo MichiLee,

ich kann Die leider nur drei Deiner Fragen beantworten. Und dabei die erste nicht einmal komplett.

  1. Wobei ich nicht fündig wurde, ist "(+)" und "SELECT NULL .. from..."

Das "(+)" in der where Bedingung ist ein outer join.
Also:

select t1.*, t2.*  
  from t1, t2  
 where t1.id = t2.id(+)

würde bedeuten, dass auch die Datensätze aus t1 selektiert werden, die keinen entsprechenden Datensatz in t2 haben

insert into test ( id, text )

select rownum, 'Blabla' || to_Char(rownum)
          from all_objects
          where rownum <= 1000;
     commit;


> Irgendwie verstehe ich das Select in dem INSERT INTO nicht. Er  
> selectiert rownum, und 'Blabla" oder rownum in einen Buchstaben  
> abgewandelt?  
  
Nein. Er macht einen insert in die Tabelle test mit den ersten 1000 Sätzen aus der Tabelle all\_objects. In das Feld ID schreibt er dabei die Rownum der all\_objects und in das Feld text schreibt er 'Blabla' und hängt an dieses Blabla die Rownum dran. "||" ist in Oracle das Zeichen für Concat also anhängen