Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Oracle Quick SQL Platform

DZone's Guide to

Oracle Quick SQL Platform

With the Oracle Quick SQL Platform, software developers are able to generate SQL and test data very quickly and practically. Read on to learn how to use it.

· Database Zone ·
Free Resource

RavenDB vs MongoDB: Which is Better? This White Paper compares the two leading NoSQL Document Databases on 9 features to find out which is the best solution for your next project.  

In this article, I will talk about Oracle's Quick SQL Platform.

Image title

SQL is very easy to write. It is one of the easiest languages to learn and code because it is the closest to human language. With the Quick SQL Platform, Oracle has taken a step forward, inheriting the inherent nature of the SQL language, to use a software that generates SQL with a much simpler notation. I considered it to be very useful in my first test and I think it can be quite useful in other tests. One of the most powerful features of this platform is that we can produce test data in the frame of the rules we set.

You only need an Oracle account to use this platform. If you do not have an Oracle account, you can get an Oracle account by following this link.

Let's give an example to provide a quick idea of how we can get an output by giving an input to the Oracle Quick SQL Platform.

As I said at the beginning of the article, it is a notation that Oracle has identified, and you can access the details of using this notation through the menus in the platform. (I will share the introduction link to the Oracle Quick SQL Platform at the end of the article.)

Example 1

Input:

departments   /INSERT 4 NAME /nn location employees / 
INSERT 1 NAME /nn vc50 email /lower cost center num date hired job

Output:

-- create tables
create table DEPARTMENTS (
    ID               NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY  
                     constraint DEPARTMENTS_ID_PK primary key,
    NAME             VARCHAR2(255) not null,
    LOCATION         VARCHAR2(4000)
)
;

create table EMPLOYEES (
    ID                 NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY  
                       constraint EMPLOYEES_ID_PK primary key,
    DEPARTMENT_ID      NUMBER
                       constraint EMPLOYEES_DEPARTMENT_ID_FK
                       references DEPARTMENTS on delete cascade,
    NAME               VARCHAR2(50) not null,
    EMAIL              VARCHAR2(255),
    COST_CENTER        NUMBER,
    DATE_HIRED         DATE,
    JOB                VARCHAR2(4000)
)
;


-- triggers
create or replace trigger EMPLOYEES_BIU
    before insert or update 
    on EMPLOYEES
    for each row
begin
    :new.EMAIL := LOWER(:new.EMAIL);
end;
/


-- indexes
create index EMPLOYEES_i1 on EMPLOYEES (DEPARTMENT_ID);
insert into DEPARTMENTS (
    ID,
    NAME,
    LOCATION
) values (
    1,
    'Customer Satisfaction',
    'Tanquecitos'
);

insert into DEPARTMENTS (
    ID,
    NAME,
    LOCATION
) values (
    2,
    'Finance',
    'Sugarloaf'
);

insert into DEPARTMENTS (
    ID,
    NAME,
    LOCATION
) values (
    3,
    'Office of the CEO',
    'Dale City'
);

insert into DEPARTMENTS (
    ID,
    NAME,
    LOCATION
) values (
    4,
    'Health',
    'Grosvenor'
);

-- load data
insert into EMPLOYEES (
    ID,
    DEPARTMENT_ID,
    NAME,
    EMAIL,
    COST_CENTER,
    DATE_HIRED,
    JOB
) values (
    1,
    3,
    'Gricelda Luebbers',
    'gricelda.luebbers@aaab.com',
    82,
    sysdate - 55,
    'Systems Software Engineer'
);

With this platform, software developers are able to generate SQL and test data very quickly and practically. You can reach the Oracle Quick SQL Platform by following this link.

Get comfortable using NoSQL in a free, self-directed learning course provided by RavenDB. Learn to create fully-functional real-world programs on NoSQL Databases. Register today.

Topics:
oracle ,sql ,database ,oracle quick sql platform ,tutorial

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}