<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FFunction_Procedure_Packages%2FNested_Functions</id>
		<title>Oracle PL/SQL Tutorial/Function Procedure Packages/Nested Functions - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FFunction_Procedure_Packages%2FNested_Functions"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Function_Procedure_Packages/Nested_Functions&amp;action=history"/>
		<updated>2026-05-24T08:46:23Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Function_Procedure_Packages/Nested_Functions&amp;diff=4418&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Function_Procedure_Packages/Nested_Functions&amp;diff=4418&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Function_Procedure_Packages/Nested_Functions&amp;diff=4419&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Function_Procedure_Packages/Nested_Functions&amp;diff=4419&amp;oldid=prev"/>
				<updated>2010-05-26T10:11:54Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Define inner function to calculate age==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; set serveroutput on&lt;br /&gt;
SQL&amp;gt; set echo on&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2    age   binary_integer;&lt;br /&gt;
  3&lt;br /&gt;
  4    birth_date    date;&lt;br /&gt;
  5    current_date  date;&lt;br /&gt;
  6&lt;br /&gt;
  7    function age_as_of (birth_date in date, as_of_date in date) return positive is&lt;br /&gt;
  8        as_of_year  natural;    --a year of 00 is valid.&lt;br /&gt;
  9        as_of_month positive;&lt;br /&gt;
 10        as_of_day   positive;&lt;br /&gt;
 11&lt;br /&gt;
 12        birth_year    natural;  --a year of 00 is valid.&lt;br /&gt;
 13        birth_month   positive;&lt;br /&gt;
 14        birth_day     positive;&lt;br /&gt;
 15&lt;br /&gt;
 16      age   positive;&lt;br /&gt;
 17    begin&lt;br /&gt;
 18        as_of_year := to_number(to_char(as_of_date,&amp;quot;yyyy&amp;quot;));&lt;br /&gt;
 19        as_of_month := to_number(to_char(as_of_date,&amp;quot;mm&amp;quot;));&lt;br /&gt;
 20        as_of_day := to_number(to_char(as_of_date,&amp;quot;dd&amp;quot;));&lt;br /&gt;
 21&lt;br /&gt;
 22        birth_year := to_number(to_char(birth_date,&amp;quot;yyyy&amp;quot;));&lt;br /&gt;
 23        birth_month := to_number(to_char(birth_date,&amp;quot;mm&amp;quot;));&lt;br /&gt;
 24        birth_day := to_number(to_char(birth_date,&amp;quot;dd&amp;quot;));&lt;br /&gt;
 25&lt;br /&gt;
 26        if as_of_month &amp;gt; birth_month then&lt;br /&gt;
 27           age := as_of_year - birth_year;&lt;br /&gt;
 28        elsif (as_of_month = birth_month) and (as_of_day &amp;gt;= birth_day) then&lt;br /&gt;
 29           age := as_of_year - birth_year;&lt;br /&gt;
 30        else&lt;br /&gt;
 31           age := as_of_year - birth_year - 1;&lt;br /&gt;
 32        end if;&lt;br /&gt;
 33&lt;br /&gt;
 34        return age;&lt;br /&gt;
 35    end;&lt;br /&gt;
 36  begin&lt;br /&gt;
 37&lt;br /&gt;
 38    current_date := to_date(&amp;quot;11-13-1997&amp;quot;,&amp;quot;mm-dd-yyyy&amp;quot;);&lt;br /&gt;
 39    birth_date   := to_date(&amp;quot;11-15-1961&amp;quot;,&amp;quot;mm-dd-yyyy&amp;quot;);&lt;br /&gt;
 40&lt;br /&gt;
 41&lt;br /&gt;
 42    age := age_as_of (birth_date, current_date);&lt;br /&gt;
 43    dbms_output.put_line(age);&lt;br /&gt;
 44&lt;br /&gt;
 45  end;&lt;br /&gt;
 46  /&lt;br /&gt;
35&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Nested function in anonymous block==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; set echo on&lt;br /&gt;
SQL&amp;gt; set serveroutput on&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2&lt;br /&gt;
  3     function myFunction (myValue in number,myFactor in number) return number is&lt;br /&gt;
  4&lt;br /&gt;
  5         myFactor_to_use  number;&lt;br /&gt;
  6         minimum_wage  number := 5;&lt;br /&gt;
  7     begin&lt;br /&gt;
  8         if (myFactor is null) or (myFactor &amp;lt; minimum_wage) then&lt;br /&gt;
  9             myFactor_to_use := minimum_wage;&lt;br /&gt;
 10         else&lt;br /&gt;
 11             myFactor_to_use := myFactor;&lt;br /&gt;
 12         end if;&lt;br /&gt;
 13&lt;br /&gt;
 14         return myValue * myFactor_to_use;&lt;br /&gt;
 15      end;&lt;br /&gt;
 16  begin&lt;br /&gt;
 17    dbms_output.put_line(myFunction(40,10));&lt;br /&gt;
 18    dbms_output.put_line(myFunction(40,2));&lt;br /&gt;
 19    dbms_output.put_line(myFunction(40,null));&lt;br /&gt;
 20  end;&lt;br /&gt;
 21  /&lt;br /&gt;
400&lt;br /&gt;
200&lt;br /&gt;
200&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>