Verfügbare Informationen zu "mhm"
Qualität des Beitrags: Beteiligte Poster: Anonymous Forum: Ihr-Domainname.de Forenbeschreibung: Beschreibung Ihres Forums aus dem Unterforum: News Antworten: 1 Forum gestartet am: Mittwoch 15.03.2006 Sprache: deutsch Link zum Originaltopic: mhm Letzte Antwort: vor 16 Jahren, 4 Monaten, 28 Tagen, 1 Stunde, 10 Minuten
Alle Beiträge und Antworten zu "mhm"
Re: mhm
Anonymous - 17.12.2007, 06:39mhm
1 Anonymer PL/SQL-Block: emp-Datensätze verdoppeln
Schreiben Sie einen „anonymen“ PL/SQL-Block, der die Datensätze in der Tabelle „emp“ verdoppelt.
Dabei sollen mit Hilfe eines Coursor alle bereits gespeicherten Datensätze gelesen und von jedem eine neue Version angelegt werden. Die neue Version soll sich nur hinsichtlich empno und ename vom alten Satz unterscheiden: emono-neu:= empno-alt + 1000, ename-neu:=’kop-‚||ename-alt
Achten Sie auf „autocommit = off“!
Declare
Cursor c is select * from emp;
Emprech emp%rowtype;
Begin
For emprec in c loop
Emprec.empno:= emprec.empno+1000;
Emprec.ename := Emprec.ename||’kop’
Insert into emp values Emprec ;
End loop;
End;
declare
cursor c is select * from emp;
emprec emp%rowtype;
BEGIN
for emprec in c loop
-- Daten bearbeiten und in emp schreiben --
emprec.empno := emprec.empno + 1000;
emprec.ename:= 'kop-'||emprec.ename;
insert into emp values emprec;
end loop;
END;
2 Stored Function
Schreiben Sie eine PL/SQL-Funktion, die als Parameter eine Abteilungsnummer mitbekommt und wie folgt arbeitet:
Es gibt eine Abteilung mit dieser Nummer:
Rückgabe-String = dname
Es gibt keine Abteilung mit dieser Nummer:
Eine Abteilung mit dieser Nummer wird angelegt. DNAME = ‚ABTEILUNG’||Nr.
Create or replace function shd(deptnoi in number) return char
Name varchar2(20);
Begin
Select dname into name from dept where deptno = deptnoi;
Exception when others then begin
create or replace function showDname(deptnoi in number) return char
is
name varchar2(20);
begin
begin
select dname into name from dept where deptno=deptnoi;
exception
when others then
BEGIN
insert into dept (deptno,dname) values (dept-noi,'ABTEILUNG'||deptnoi);
return 'Abteilung wurde Angelegt';
END;
end;
return name;s
end;
3 Stored Function
Erstellen Sie eine PL/SQL-Funktion, die als Parameter die Nummer eines Angestellten übergeben bekommt und einen String mit folgenden datenabhängigen Inhalt rückliefert.
‚kein emp-Satz unter dieser Nummer’
‚<ename> bezieht keine Provision’ (comm is null oder comm = 0)
‚<ename> bezieht „ (comm/sal)*100 “% Provision
Create or replace function ma (empnoi in number) return char is
Name varchar2(20);
Commi number(40);
Cool varchar(20);
Begin
Select empno into name from emp where empno = empnoi;
Select comm into commi where empno = empnoi;
If commi = 0 then
return Cool||’bezieht keine Provision’;
end if;
if commi is null
return Cool||’bezieht keine Provision’;
end if;
exception when others then begin
return Cool||keener gefunden ;
create or replace function showComm(empnoi in number) return char
is
name varchar2(20);
cool varchar2(20);
commi number(3);
begin
begin
select to_char((comm/sal)*100) into name from emp where empno=empnoi;
select comm into commi from emp where empno=empnoi;
if commi=0 then
select ename into cool from emp where empno=empnoi;
return cool||' bezieht keine Provision';
end if;
if commi is null then
select ename into cool from emp where empno=empnoi;
return cool||' bezieht keine Provision';
end if;
exception
when others then
BEGIN
return 'kein emp-Satz unter dieser Nummer';
END;
end;
return name;
end;
4 Stored Procedure: exception handling, cursor
Erstellen Sie eine “stored procedure” die als Parameter den Namen (ename) eines Mitarbeiters enthält und folgende Werte ausgibt:
„Kein Mitarbeiter mit diesem Namen gespeichert!“, bzw (falls kein MA mit diesem Namen existiert)
Liste mit „ename + job + dname“ aller Mitarbeiter dieses Namens, bzw (falls Name nicht eindeutig)
Alle Attributwerte des Mitarbeiters. (falls Name eindeutig)
Die Behandlung der einzelnen Fälle muss mit „exception handling“ erfolgen.
Create or replace procedure nami(enamei In char)is
create or replace procedure showEname(arg_ename in char)
is
name varchar2(20);
cool varchar2(20);
commi number(3);
begin
begin
select empno||ename||job||mgr||hiredate||sal||comm||deptno into name from emp where ename=arg_ename;
exception
when others then
BEGIN
name:='Kein Mitarbeiter mit diesem Namen gespeichert!';
END;
end;
dbms_output.put_line(name);
end;
5 Stored Procedure: cursor
Schreiben Sie eine Prozedur jubilaeum(n:Number), die die Namen der längstdienenden „n“ Mitarbeiter ausgibt. Was passiert bei leerer Eingabemenge? Exception?
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Ihr-Domainname.de
mhm - gepostet von Anonymous am Montag 17.12.2007
5.4 - gepostet von Anonymous am Mittwoch 05.04.2006
Ähnliche Beiträge wie "mhm"
mhm - Anonymous (Freitag 22.04.2005)
mhm... - caro (Dienstag 22.08.2006)
mhm - Anonymous (Mittwoch 13.07.2005)
Mhm - Smash the Dragon (Samstag 22.01.2005)
mhm is das ein problem ? - Chaosking (Freitag 02.02.2007)
MCB - Gotcha, Baby! - johnny59 (Dienstag 08.04.2008)
......mhm es kann länger dauern..... - Buggy (Freitag 28.04.2006)
mhm(für Herrn U.) - Mornie (Dienstag 09.05.2006)
mhm... mit labern - Anonymous (Samstag 30.12.2006)
mhm...Biodola aufgepasst.. (-; - Axes_Boarder (Freitag 23.03.2007)