Oracle PL/SQL

In diesen Test werden die Voraussetzungen für die Kurse  und Oracle  PL/SQL und Datenbankprogrammierung überprüft. Der Test besteht aus 15 Fragen.

Zugehöriges Seminar:

  • Frage 1: Welcher Befehl zur Erzeugung einer zyklischen Sequence SEQ_WTAG sind korrekt? Die Sequence soll zyklisch von 1 bis 7 laufen und bei 3 beginnen. Die Schrittweite soll 1 sein.
    (Bitte wählen Sie 2 Antworten)
  • CREATE SEQUENCE SEQ_WTAG START WITH 3 MINVALUE 1 MAXVALUE 7 INCREMENT BY 1 NOCYCLE;
  • CREATE SEQUENCE SEQ_WTAG START WITH 3 MINVALUE 1 MAXVALUE 7 INCREMENT BY 1 CACHE 5 CYCLE;
  • CREATE SEQUENCE SEQ_WTAG START WITH 3 MINVALUE 1 MAXVALUE 7 INCREMENT BY 1 CYCLE;
  • CREATE SEQUENCE SEQ_WTAG START WITH 3 MINVALUE 1 MAXVALUE 7 INCREMENT BY 1 CACHE 20 CYCLE;
  • CREATE SEQUENCE SEQ_WTAG START WITH 3 MINVALUE 1 MAXVALUE 7 NOCACHE CYCLE;
  • Frage 2: Wo kann man sich Informationen über die Tabellen holen, die im eigenen Schema liegen? Ihr aktuelles Schema ist SCOTT.
    (Bitte wählen Sie 2 Antworten)
  • SELECT * FROM dba_tables WHERE user='SCOTT';
  • SELECT * FROM user_tables;
  • SELECT * FROM user_tables WHERE owner='SCOTT';
  • SELECT * FROM all_tables WHERE owner='SCOTT';
  • SELECT * FROM my_tables;
  • Frage 3: Welche Aussagen zu Objektprivilegien sind richtig?
    (Bitte wählen Sie 2 Antworten)
  • Objektprivilegien könen von anderen usern erteilt werden, die die Systemberechtigung GRANT ANY OBJECT PRIVILEG.
  • Objektprivilegien können vom Besitzer der Objekte erteilt werden.
  • Das Privileg SELECT ANY TABLE ist ein Objektprivileg.
  • Objektprivilegien können mit ADMIN OPTION vergeben werden.
  • Frage 4: Welche Arten von Constraints gibt es bei Oracle? Wählen sie die richtigen Bezeichnungen aus.
    (Bitte wählen Sie 3 Antworten)
  • NOT NULL
  • FUNCTION
  • UNIQUE
  • SEQUENCE
  • INDEX
  • PRIMARY KEY
  • Frage 5: Sie wollen mit einen Subselect alle Mitarbeiter finden die mehr als den Mittelwert verdienen. Welche SQL-Statements liefern ein Ergebnis?
    (Bitte wählen Sie 2 Antworten)
  • SELECT ename,sal FROM emp WHERE sal > ANY (SELECT AVG(sal) FROM emp);
  • SELECT ename,sal FROM emp WHERE sal > (SELECT AVG(sal) FROM emp);
  • SELECT ename,sal FROM emp WHERE sal < ALL (SELECT AVG(sal) FROM emp);
  • SELECT ename,sal FROM emp WHERE sal > AVG(sal);
  • SELECT ename,sal FROM emp WHERE sal = ANY (SELECT AVG(sal) FROM emp);
  • Frage 6: Mit welchen Befehl können sie sich die aktuelle Uhrzeit auf dem Server anzeigen lassen?
    (Bitte wählen Sie 2 Antworten)
  • SELECT TO_CHAR(SYSDATE,'DD.MM.YYYY HH24:MI:SS') FROM dual;
  • SHOW time;
  • SELECT TO_CHAR(SYS_CONTEXT('CURRENT_TIME'),'DD.MM.YYYY HH24:MI:SS') FROM dual;
  • SHOW SYSDATE
  • ALTER SESSION SET nls_date_format = 'DD.MM.YYYY HH24:MI:SS';
    SELECT sysdate FROM dual;
  • Frage 7: Welche Aussagen zum OUTER JOIN sind richtig?
    (Bitte wählen Sie 2 Antworten)
  • Der OUTER JOIN zeigt auch Datensätze an die nicht mit Datensätzen aus anderen Tabellen verknüpft sind.
  • Die Ergebnismenge eines SELECT-Statements mit einen OUTER JOIN ist immer kleiner oder gleich der Ergebnismenge eines INNER JOIN.
  • Es gibt TOP OUTER JOIN, BOTTOM OUTER JOIN und einen FULL OUTER JOIN.
  • In einem SELECT-Statement darf nur maximal ein OUTER JOIN enthalten sein.
  • Es gibt einen LEFT OUTER JOIN, RIGHT OUTER JOIN und einen FULL OUTER JOIN.
  • Frage 8: Welche SQL-Befehle haben eine richtige Syntax?
    (Bitte wählen Sie 3 Antworten)
  • UPDATE emp SET sal=sal+100 WHERE sal > (SELECT AVG(sal) FROM emp);
  • INSERT INTO emp_old SELECT * FROM emp;
  • CREATE TABLE emp_old SELECT * FROM emp;
  • DELETE FROM emp WHERE empno = (SELECT empno FROM emp WHERE deptno = 20);
  • UPDATE emp SET ename=INITCAP(ename) WHERE ename = 'S%';
  • UPDATE emp SET ename=INITCAP(ename) WHERE ename LIKE 'S%';
  • Frage 9: Welche Aussagen über Rollen sind richtig?
    (Bitte wählen Sie 3 Antworten)
  • Rollen können Objektprivilegien mit GRANT OPTION enthalten.
  • Rollen können bei Datenbank-Benutzer als Standard(DEFAULT) gesetzt werden.
  • Rollen können mit einen Passwort versehen werden.
  • Besitzen Rollen ein Passwort, muss man es bei der erteilen der Berechtigung an andere Datenbank-Benutzer eingeben. das Passwort sichert die ungewünschte Weitergabe ein.
  • Rollen können Systemprivilegien, Objektprivilegien und Rollen enthalten.
  • Frage 10: Welches SQL-Statement zum erstellen einer Tabelle ist korrekt?
    (Bitte wählen Sie 2 Antworten)
  • CREATE TABLE dept (
    deptno NUMBER(2),
    dname VARCHAR2(10),
    loc VARCHAR2(15)
    );
  • CREATE TABLE dept (
    deptno NUMBER(2),
    dname VARCHAR3(10),
    loc VARCHAR3(15)
    );
  • CREATE TABLE dept (
    deptno NUMBER(2),
    dname CHAR(10),
    loc CHAR(15)
    );
  • CREATE TABLE dept (
    deptno NUMBER(2)
    dname VARCHAR2(10)
    loc VARCHAR2(15)
    );
  • Frage 11: Welche Aussagen zu den SQL-Statements sind korrekt?
    (Bitte wählen Sie 2 Antworten)
  • Die Anweisungen
    SELECT * FROM emp WHERE ename LIKE 'J%' OR ename LIKE 'S%';
    und
    SELECT * FROM emp WHERE SUBSTR(ename,1,1) IN ('J','S');
    liefern das selbe Ergebnis.
  • Die Anweisungen
    SELECT * FROM emp WHERE job IN ('SALESMAN','MANAGER');
    und
    SELECT * FROM emp WHERE job ='SALESMAN' OR job ='MANAGER';
    liefern das selbe Ergebnis.
  • Die Anweisungen
    SELECT * FROM emp WHERE ename LIKE 'J%' OR ename LIKE 'S%';
    und
    SELECT * FROM emp WHERE SUBSTR(ename,1,1) IN ('j','s');
    liefern das selbe Ergebnis.
  • Die Anweisungen
    SELECT * FROM emp WHERE ename LIKE 'J%' OR ename LIKE 'S%';
    und
    SELECT * FROM emp WHERE SUBSTR(ename,1,1) NOT IN ('J','S');
    liefern das selbe Ergebnis.
  • Die Anweisungen
    SELECT * FROM emp WHERE sal > 1000 AND sal < 3000;
    und
    SELECT * FROM emp WHERE sal BETWEEN 1000 and 3000;
    liefern das selbe Ergebnis.
  • Frage 12: Sie wollen zwei Tabellen emp und dept mit einen JOIN über die gemeinsame Spalte deptno verknüpfen. Aus der Tabelle emp wollen Sie sich die Spalten ename und sal und aus der Tabelle dept die Spalten dname und loc anzeigen. Wählen Sie alle richtigen Antworten.
    (Bitte wählen Sie 2 Antworten)
  • SELECT e.ename,e.sal,d.dname.d.loc
    FROM emp , dept WHERE e.deptno=d.deptno;
  • SELECT e.ename,e.sal,d.dname.d.loc
    FROM emp e INNER JOIN dept d on e.deptno=d.deptno;
  • SELECT e.ename,e.sal,d.dname.d.loc
    FROM emp e INNER JOIN dept d WHERE e.deptno=d.deptno;
  • SELECT e.ename,e.sal,d.dname.d.loc
    FROM emp e INNER JOIN dept d USING (deptno);
  • SELECT e.ename,e.sal,d.dname.d.loc
    FROM emp e NATURAL JOIN dept d on e.deptno=d.deptno;
  • Frage 13: Welche Aussagen über den INSERT-Befehl in Oracle-Datenbanken ist korrekt?
    (Bitte wählen Sie 2 Antworten)
  • INSERT-Befehls können nicht zurück gerollt werden (rollback).
  • Nach jedem INSERT kommt automatisch ein commit;
  • Mit dem INSERT-Befehl kann man immer nur eine Zeile einfügen.
  • Mit dem Insert-Befehl kann man Tabellen auch mit einen SELECT-Statement kombinieren INSERT INTO ... SELECT ... !
  • Man kann statt INSERT INTO auch kurz nur INSERT schreiben.
  • Frage 14: Welche Aussagen über das Unique-Constraint sind wahr?
    (Bitte wählen Sie 2 Antworten)
  • Ein Unique-Constraint kann nicht deaktiviert werden.
  • Ein Unique-Constraint beinhaltet auch immer einen eindeutigen Index.
  • Ein Unique-Constraint kann über mehrere Spalten verschiedener Tabellen erzeugt werden.
  • Ein Unique-Constraint über eine Spalte verhindert, dass es mehrere Zeilen gibt die in dieser Spalte keinen Inhalt haben.
  • Ein Unique-Constraint erzwingt eine Eindeutigkeit.
  • Frage 15: Welche Aussagen zu Transaktionen sind richtig?
    (Bitte wählen Sie 3 Antworten)
  • Transaktionen kann man COMMIT; abschließen.
  • Man kann eine zurückgerollte Transaktion mit recommit; doch noch abschließen.
  • Wird eine Session mit einem Befehl exit "sauber" oder durch einen Abbruch beendet, wird durch Oracle die offene Transaktion der Session mit rollback zurück gerollt.
  • Nach einen DDL-Befehl wird eine Transaktion abgeschliossen.
  • Wird eine Session angebrochen wird durch Oracle für die offene Transaktion der Session ein rollback durchgeführt.