Last Sunday, the Copenhagen Zoo put down one of its giraffes. The did not have room for it and its genes were already well represented in the giraffe gene pool by several siblings. In cooperation with the European Association of Zoos and Aquaria (EAZA), it was decided that the space in the one zoo that could take it would be better used for a giraffe with a different genetic makeup.
I’ve discussed this with otherwise (more...)
If you are worried about internet surveillance by NSA and others, today is an international action day with demonstrations and events worldwide. See www.thedaywefightback.org for more information.
My son had finished his web application. He had actually thought about the hardware his users would be using and wanted to test it right. Dad, do we have an old Windows machine? Yes. First generation iPad? Yes. Old iPhone? Yes. I realized that I am unwittingly creating an IT museum in the basement…
What I also realized is how much harder testing has become over the last few years. We used to test our (more...)
To conclude my presentation of the GROUP BY + MERGE technique, here is a query that generates the SQL to synchronize two tables. You just need to specify the source and the target; the source can be a local or remote table or view, or a query. The target must be a local table with […]
Below is a direct copy and paste of some code I ran (nothing is done in between the sections). There’s clearly data in the tables, but it vanishes when they are joined:
insert into theres_a_row_here
values ('Indeed there is');
insert into and_a_row_here
values ('Indeed there is');
select * from theres_a_row_here;
Indeed there is
select * from and_a_row_here;
Indeed there is
I recently wrote about Tom Kyte’s GROUP BY technique for comparing tables. Now I’m going to show how to synchronize the tables with the MERGE statement. I’ll start by enhancing the comparison to provide better input to the MERGE. (The test data is the same as before: 30 rows in each table and 3 differences […]
Just a quick note to highlight that the Oracle pre-built Developer VMs have been updated for Oracle 12c.
Oracle pre-built Developer VMs
On one of the pages there was a need to refresh a report region when a node in an APEX Tree was clicked. As far as I know there is no built-in method to create a Dynamic Action to a node in an APEX Tree, so this might call for a Custom Event.
If there is a built-in method, please leave a comment :)
Trigger Custom Event
To trigger a Custom Event, change the "link" (more...)
SQL databases offer a huge advantage to developers: we can use queries against the data dictionary to generate SQL code. “SQL templates” are a simple idea that makes this technique easier to use. Let’s take the query I used in my previous post to compare two tables, and make a template out of it. A […]
In every business, there is a balance between business goals and various impediments.
You need to make sure that you don’t allow legal, QA, security and other internally-focused concerns tip the scale towards paralysis. There is more in this week’s edition of my newsletter “Technology That Fits” – sign up here.
where understanding_of_venn_diagrams = 'Y'
where understanding_of_sql = 'Y';
People who understand this is
a Venn diagram in disguise
My students required way to remove all their tables, views, and constraints from a MySQL
database (or the alias
schema). Since they’re using referential or foreign key constraints, I also wrote one procedure to drop all foreign key constraints from a database. There’s also another to drop views. The final stored procedure calls the procedure that drops foreign keys, then calls the procedure to drop views before dropping all the tables.
In teaching, I had a problem because my students have different base operating systems, like Windows 7, Windows 8, Linux, and Mac OS X. I needed a teaching and lecture platform that would let me teach it all (not to mention support their environments). That meant it had to virtualize any of the following with a portable device:
- Windows 7/8 hosting natively an Oracle Database 11g XE, 11g, or 12c and MySQL Database 5.6
Sometimes a simple question turns out to be harder than expected.
“Can we see if a particular SQL execution in AWR used a baselined plan?”
Initial thoughts might be:
Q: Does DBMS_XPLAN.DISPLAY_AWR tell us this?
A: Apparently not. See below. This question could also be rephrased as two other possible questions:
Q:Isn’t there a column on DBA_HIST_SQLSTAT which tell us this?
A: No. You’d think there should be. There is a SQL_PROFILE column. (more...)