Zooxanthellate corals: Dynamic search of species within the family Faviidae


http://porites.geology.uiowa.edu:8001/ows-bin/owa/coral_species

PROCEDURE      CORAL_SPECIES AS
CURSOR C1 IS
SELECT DISTINCT PAGETITLE
FROM SPECIES
ORDER BY PAGETITLE;
X1 VARCHAR2 (100);
 BEGIN
 HTP.HTMLOPEN;
 HTP.HEADER(1,'<font color="red">Coral Species Search Tool</font>');
 HTP.P('<BODY BGCOLOR="WHITE">');
 HTP.LINE;
  HTP.FORMOPEN('CORAL_FORM');
 HTP.PREOPEN;
 OPEN C1;
 FETCH C1 INTO X1;
 HTP.FORMSELECTOPEN('Page', 'Select Genus and species: ');
 WHILE C1%FOUND LOOP
 HTP.FORMSELECTOPTION(X1);
 FETCH C1 INTO X1;
 END LOOP;
 CLOSE C1;
 HTP.FORMSELECTCLOSE;
 HTP.PRECLOSE;
 HTP.FORMRESET;
 HTP.FORMSUBMIT;
 HTP.FORMCLOSE;
 HTP.LINE;
 HTP.HTMLCLOSE;
END;



 PROCEDURE     CORAL_FORM (
PAGE VARCHAR2 := NULL) AS

CURSOR C1 IS
 SELECT DISTINCT GENUSNAME, SPECIESNAME, SPECIESAUTHORNM,  SPECIESYEARAU,HOLOREPOSABBR, HOLOMUSCATNO
 FROM SPECIES
 WHERE (PAGETITLE = PAGE);

CURSOR C2 IS
SELECT IMAGE.ILLUSFILE,IMAGE.REPOSABBR,IMAGE.MUSCATNO, IMAGE.TYPSTATUS,
IMAGE.SCALEVALUE,IMAGE.SCALEUNITS,IMAGE.ILLUSTYPE,
IMAGE.ILLUSVIEW,IMAGE.COLLEVSAMNO, LOCATION.FORMATIONNAME, LOCATION.LOCALITYNAME, LOCATION.COUNTRYNAME
FROM SPECIES, IMAGE, LOCATION
WHERE (SPECIES.PAGETITLE=PAGE)
AND (SPECIES.SPECIESNAME=IMAGE.SPECIESNAME)
AND (SPECIES.ILLUSFILE != IMAGE.ILLUSFILE)
AND (IMAGE.STRATUNITNAME=LOCATION.STRATUNITNAME);

CURSOR C3 IS
SELECT SYSPECIES.SYGENNAME, SYSPECIES.SYSPECIESNAME, SYSPECIES.SYSPECIESAUTHORNM, SYSPECIES.SYSPECIESYEARAU
FROM SPECIES, SYSPECIES
WHERE (SPECIES.PAGETITLE=PAGE)
AND (SPECIES.SPECIESNAME=SYSPECIES.SPECIESNAME);

CURSOR C4 IS
SELECT MORPHOL.MORPHCHARNAME,MORPHOL.MORWEBPAGE,
MORPHOL.CHARSTATENAME
FROM SPECIES, MORPHOL
WHERE (SPECIES.PAGETITLE=PAGE)
AND (SPECIES.SPECIESNAME=MORPHOL.SPECIESNAME);

CURSOR C5 IS
SELECT DISTINCT  STRATORD.SUPEPOCHNAMEBOTTOM, STRATORD.EPOCHNAMEBOTTOM, STRATORD.SUBEPOCHNAMETOP, STRATORD.EPOCHNAMETOP, LOCATION.FORMATIONNAME,
LOCATION.LOCALITYNAME, LOCATION.COUNTRYNAME
FROM SPECIES, DISTRIB, LOCATION,STRATORD
WHERE (SPECIES.PAGETITLE=PAGE)
AND (SPECIES.SPECIESNAME=DISTRIB.SPECIESNAME)
AND (DISTRIB.STRATUNITNAME=LOCATION.STRATUNITNAME)
AND (STRATORD.SUPEPOCHNAMEBOTTOM = LOCATION.SUBEPOCHNAMEBOTTOM)
AND (STRATORD.EPOCHNAMEBOTTOM=LOCATION.EPOCHNAMEBOTTOM)
AND (STRATORD.SUBEPOCHNAMETOP=LOCATION.SUBEPOCHNAMETOP)
AND (STRATORD.EPOCHNAMETOP=LOCATION.EPOCHNAMETOP);
 

X1 VARCHAR2 (100);
X2 VARCHAR2 (100);
X3 VARCHAR2 (100);
X4 VARCHAR2 (100);
X5 VARCHAR2 (100);
X6 VARCHAR2 (100);
X7 VARCHAR2 (100);
X8 VARCHAR2 (100);
X9 VARCHAR2 (100);
X10 VARCHAR2 (100);
X11 VARCHAR2 (100);
X12 VARCHAR2 (100);
X13 VARCHAR2 (100);
X14 VARCHAR2 (100);
X15 VARCHAR2 (100);
X16 VARCHAR2 (100);
X17 VARCHAR2 (100);
X18 VARCHAR2 (100);
X19 VARCHAR2 (100);
X20 VARCHAR2 (100);
X21 VARCHAR2 (100);
X22 VARCHAR2 (100);
X23 VARCHAR2 (100);
X24 VARCHAR2 (100);
X25 VARCHAR2 (100);
X26 VARCHAR2 (100);
X27 VARCHAR2 (100);
X28 VARCHAR2 (100);
X29 VARCHAR2 (100);
X30 VARCHAR2 (100);
X31 VARCHAR2 (100);
X32 VARCHAR2 (100);
BEGIN
 HTP.HTMLOPEN;
 HTP.TITLE('NMITA: Coral '||Page||' Species Page');
 HTP.P('<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#009191" VLINK="#551A8B" ALINK="#00CACA">');
 HTP.HEADER(1,'<img SRC="nmitalog.gif" HSPACE=6
 VSPACE=3 BORDER=2 height=32 width=32 align=LEFT><b><font size=+1><font color="#005EBB">
 NMITA:</font><font color="#CA0065">N</font><font color="#005EBB">eogene</font>
 <font color="#CA0065">M</font><font color="#005EBB">arine
 B</font><font color="#CA0065">i</font><font color="#005EBB">ota of </font>
 <font color="#CA0065">T</font><font color="#005EBB">ropical</font><font color="#CA0065">
 A</font><font color="#005EBB">merica</font></font></b>
 ');
HTP.NL;
OPEN C1;
FETCH C1 INTO X1,X2,X3,X4,X5,X6;
HTP.P('<TR><TD>');
HTP.NL;
HTP.LINE;
HTP.HEADER(1, '<CENTER><I>'||X1||' '||X2||'</I> ('||X3||','||X4||')</CENTER>');
HTP.P('<HR ALIGN=CENTER SIZE = 2 WIDTH = 40%><BR>');
HTP.NL;
HTP.P('</TD></TR>');
FETCH C1 INTO X1,X2,X3,X4,X5,X6;
CLOSE C1;
HTP.P('<TABLE BORDER>');
OPEN C2;
FETCH C2 INTO X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18;
WHILE C2%FOUND LOOP
HTP.P('<TR><TD align=center><img src=http://nmita.geology.uiowa.edu/database/corals/systemat/faviid/'||X7||' HSPACE=2 VSPACE=2 WIDTH=300></TD>');
HTP.P('<TD>');
HTP.BOLD('<I><font size=+1>Specimen details:</font></I><BR>');
HTP.P('<U>Museum Number:</U> '||X8||' '||X9||'');
HTP.NL;
HTP.P('<U>Type Status:</U> '||X10||'');
HTP.NL;
HTP.P('<U>Scale Bar is</U> '||X11||' '||X12||'');
HTP.NL;
HTP.P('<U>Type:</U> '||X13||'');
HTP.NL;
HTP.P('<U>Orientation:</U> '||X14||'');
HTP.NL;
IF X15 IS NOT NULL THEN
HTP.P('<U>Locality:</U> '||X15||', '||X16||', '||X17||', '||X18||'');
HTP.P('<BR><BR><a href="database/corals/systemat/faviid/'||X7||'"><B>- Enlarge Image -</B></a>');
ELSE
HTP.P('<U>Locality:</U> '||X16||', '||X17||', '||X18||'');
HTP.P('<BR><BR><a href="database/corals/systemat/faviid/'||X7||'"><B>- Enlarge Image -</B></a>');
HTP.P('</TD></TR>');
END IF;
FETCH C2 INTO X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18;
END LOOP;
CLOSE C2;
HTP.P('</TABLE>');
HTP.PARAGRAPH;
HTP.PARAGRAPH;

HTP.ULISTOPEN;
HTP.BOLD('<FONT SIZE=+1>Synonymy:</FONT>');
OPEN C3;
FETCH C3 INTO X19,X20,X21,X22;
WHILE C3%FOUND LOOP
HTP.ITALIC(''||X19||' '||X20||'');
HTP.P(''||X21||', '||X22||';');
FETCH C3 INTO X19,X20,X21,X22;
END LOOP;
CLOSE C3;
HTP.ULISTCLOSE;
HTP.OLISTOPEN;
HTP.BOLD('<FONT SIZE=+1>Morphologic Description:</FONT>');
OPEN C4;
FETCH C4 INTO X23,X24,X25;
WHILE C4%FOUND LOOP
HTP.P('<DD>');
HTP.ANCHOR('http://nmita.geology.uiowa.edu/database/corals/glossary/'||X24||'',''||X23||':');
HTP.P(''||X25||';');
HTP.P('</DD>');
FETCH C4 INTO X23,X24,X25;
END LOOP;
CLOSE C4;
HTP.OLISTCLOSE;
HTP.BOLD('<FONT SIZE=+1>Distribution:</FONT>');
HTP.OLISTOPEN;
OPEN C5;
FETCH C5 INTO X26,X27,X28,X29,X30,X31,X32;
WHILE C5%FOUND LOOP
IF (X26=X27) THEN
HTP.P('<DD>');
HTP.BOLD(''||X26||':');
HTP.P(''||X30||', '||X31||', '||X32||';');
HTP.P('</DD>');
ELSIF  (X26=X28 AND X27=X29) THEN
HTP.P('<DD>');
HTP.BOLD(''||X26||' '||X27||':');
HTP.P(''||X30||', '||X31||', '||X32||';');
HTP.P('</DD>');
ELSE
HTP.P('<DD>');
HTP.BOLD(''||X26||' '||X27||' to '||X28||' '||X29||':');
HTP.P(''||X30||', '||X31||', '||X32||';');
HTP.P('</DD>');
END IF;
FETCH C5 INTO X26,X27,X28,X29,X30,X31,X32;
END LOOP;
CLOSE C5;
HTP.OLISTCLOSE;
HTP.BR;
HTP.P('<hr ALIGN=LEFT WIDTH=100%><b>Return to:<BR>');
HTP.ULISTOPEN;
HTP.LISTITEM('<a href="">NMITA homepage</a>');
HTP.LISTITEM('<a href="database/corals/coralmnu.htm">Zooxanthellate Corals</a>');
HTP.LISTITEM('<a href="database/corals/systemat/systemat.htm">List of List of Zoox-Coral Taxa</a></b>');
HTP.LISTITEM('<font color = red> Temporary Link!! </font> <a href="http://nmita.geology.uiowa.edu:8001/ows-bin/owa/CORAL_SPECIES">Dynamic Search of Coral Species</a></b>'); HTP.ULISTCLOSE;
HTP.HTMLCLOSE;
END;



Last updated on April 29, 2000-afb.