Devel. + PL/SQL tools
JDeveloper, Forms, Designer,…
Database development in the Oracle Database is crucial for creating well balanced multi tier applications. This presentation describes a number of useful facilities and application architecture considerations around the database, taking into account some of the most recent insights.
The official slide deck from this presentation at Oracle Open World 2012:
Question from one of my customers: “Please help me find an update statement that’s able to re-order a primary key after a delete.. and by the way.. you are not allowed to use PL/SQL, triggers or a sequence, because we cannot change anything in the app schema”. Updating a PK seemed a bit odd, but then I was told about a composite PK over 2 columns, with the second column a number, meant to always start with 0 and ascending per value in the first column, and – most importantly! – without any holes in de numbering.
At first I couldn’t see a way to use pure SQL for this request, and thought of PL/SQL loops and using a temporary table. But after some time I came up with a solution, using row_number() and rowid. I think it’s a nice example of being pressed to think in sets instead of row based processing, with the solution being short, fast, and rather elegant. Try it yourself!
– create test table
create table t1( name varchar2(100), seqnr number(4), note varchar2(30));
alter table t1 add ( constraint t_pk primary key ( name, seqnr));
– insert test data
insert into t1 values ('harry', 0, 'test record 100');
insert into t1 values ('harry', 1, 'test record 101');
insert into t1 values More >
Yesterday Bryn Llewellyn, Distinguished Product Manager, did a session called “PL/SQL Enhancements brought by the latest generation of database technology”. The room was packed. For the upcoming release of the Oracle 12c database the enhancements were broken into three areas:
- Improved PL/SQL and SQL interoperability
In the current version of the Oracle database you needed a Nested Table or Varray Type defined at schema level in order to be able to use it in the TABLE operator. This is no longer necessary, it can be a PL/SQL declared type. The types that can be used as bind variables has been extended: Boolean, Nested Tables can be used as bindvariable in Dynamic SQL. Subquery Factoring (the With clause if you will) can hold private functions, the use case presented for this: pretty print an integer in K, M, G, T. Using userdefined PL/SQL functions in a SQL statement is not advisable, but if you really need to there is a new pragma: PRAGMA UDF. With this pragma the statement is almost as fast as pure SQL.
A new step has been taken to continue on “least privileges”, meaning that the user only gets the privileges that are absolutely necessary. A Role can be granted to aMore >
Underneath the recipe for some nice IM functionality in Oracle Apex, assuming you have a running Apex instance and a JVM 1.5+ install) and moderate+ Apex skills:
- Scrape together the ingredients
- Install Kaazing Gateway XMPP edition and OpenFire
- Configure Kaazing and OpenFire
- Create an Apex app with IM client
- Create anApex Webshop support app
- Wire the Apex Webshop support app to the Apex app with IM client
- Final touch
The webshop side of the scenario without the shop :
The show of the year is around the corner: on Sunday it will all start again, the Oracle Open World conference. Tens of thousands of developers, architects, administrators, project managers, decision makers and others involved with Oracle products one way or another are gathering in and around San Francisco. AMIS will attend with an 8 person team. We will present, network, publish and investigate. As much as we bring our knowledge and experience to the conference, we also want to find out many things. A quick list of some of the questions that are on the top of my head to get answered during thus year’s conference:Cloud
After last year’s announcements, we have not really seen any concrete cloud instances from Oracle. I hope to learn during this conference where exactly we stand and are headed with the Oracle Cloud – both the Application and the Platform Services. My focus will be on the latter in particular: what is the functionality and non-functionality offered by the various services – from Database Service to Web Services (PHP, Ruby and Python support) and Oracle Cloud Developer Services Hudson (for continuous integration, Git and GitHub for source control, wiki and tasks for More >
This will be my third time attending Oracle Open World and I’m really looking forward to the event. It is very hard to make a schedule, there are so many good session available. I thought I’d share my schedule, it might inspire you for your own schedule (or makes it harder to make a choice) and I can look at my schedule without having to login to the schedule builder. (more…)