I am starting work on a program that is perhaps most naturally described as a package of calculations on database tables and will be performed once a month. All input is in the Oracle database tables, and all output will be presented in the Oracle database tables. The program should remain maintainable for years to come.
It seems straightforward to implement this as a series of stored procedures, each of which performs a reasonable transformation, such as sharing costs between departments in accordance with some business rules. Then I can write unit tests to check if the result of each conversion is what I expected.
Is it a bad idea to do all this in PL / SQL? Would you prefer to do heavy group computing in a typical object-oriented programming language such as C #? Isn't it more expressive to use a basic database programming language such as PL / SQL?
Usually I say as little as possible in PL / SQL, as much as possible - it is usually much less maintainable - at one of my last works I really saw how dirty and hard to work with it can work.
, , - PL/SQL - " ". , - - , - , .
a) b)
:
, , .
, ( / ). OO , , . , , .
.
- - PL/SQL, SQL. , , SQL, PL/SQL. PL/SQL - , . , , , .
, . , , , . OO- ( ) , .
Oracle PL/SQL , , PL/SQL, . , PL/SQL SQL- , , , .
, - , . , - , , " ".
PL/SQL - , SQL. Oracle . , Oracle 11, PL/SQL .
PL/SQL ProC . PL/SQL, , , , ProC.
, Pro * C.
, , script , , script. .
, , PL/SQL, PL/SQL .
- - SQL, , RDBMS , , SQL DML . ..
# SQL.
#:
.NET OO.
* - , .
* sql dang.
SQL:
* . , . .
* sql
* -
SQL , SQL.
, SQL - , .
:) , , /. 2 , , , SQL. 3 , " ", SQL , . , "". , 2 1/2- , 2 , .
"-", / , . , , , " ". , , .
, , , , , , SQL- . , , .
, SQL Server. , , . SQL . , , SQL.
, , SQL , , ... SQL, , , SQL/ .
YMMV:)
, . , , , .
, , PL/SQL, , , , PL/SQL .
, , , PL/SQL, "" .
, PL/SQL (, - ) .
Source: https://habr.com/ru/post/1697006/More articles:Failures caused by logrotate on Apache 2 with password protected SSL key - sslКак я могу захватить stdin и stdout системной команды с Perl script? - perlPure implementation of strategy template in Perl - design-patternsUsing custom structure - iphoneБлокированные файлы данных SQL Server - sql-server-2005How to enable Platform Builder mode in VS2008 - visual-studio-2008How to check function call order - c ++The best way to differentiate MVC controllers based on HTTP headers is .netPublish Against Copy - asp.netWhat Java versions support Griffon? - javaAll Articles