Why the DOF is SQL?

Even if the DDL or DML commands do not interview at the database, why they are considered a part of SQL (Structured Query Language). I tried to find the answer to many a sites, but could not find it. Kindly help

Thank you
RAM

RamGrandhi wrote:
Even if the DDL or DML commands do not interview to the database,

I don't agree with that. A DDL statement like this ask the database.

create table employee_temp
as
select *
  from employee;

And a DML statement like this query of the database as well.

insert into employee_temp
select *
  from employee;

But to answer your question SQL is just a name representing a programming language like Java or C.

Tags: Database

Similar Questions

  • Can you explain why the "analytical" Word is used in Sql

    I found to define the "analytic function" phrase is such: "a piece of syntax that is originating excessive."
    I don't understand why's called it "Analytics". In English 'analytical' comes from the word "to analyse" which means the examination of something. So it looks like "analytic function" should review/analyze something? but all the functions examaine/analyze something. If I group by article in my request, then all aggregate functions will conduct the review of the data, then why I call them better too 'analytic (al). Can you explain why the "analytical" Word is used in Sql world?

    CharlesRoos wrote:
    I found to define the "analytic function" phrase is such: "a piece of syntax that is originating excessive."
    I don't understand why's called it "Analytics". In English 'analytical' comes from the word "to analyse" which means the examination of something. So it looks like "analytic function" should review/analyze something? but all the functions examaine/analyze something. If I group by article in my request, then all aggregate functions will conduct the review of the data, then why I call them better too 'analytic (al). Can you explain why the "analytical" Word is used in Sql world?

    Aggregate functions will bring together data that is to sum or count etc once it is grouped together. It is not just review, but grouping.
    Analytical functions review / analyze the other rows of data, without having to group them in the result that they can summarize a set of values of a particular group (partition) of the data, or they can simply retrieve values of other lines (for example lead, lag, the first_value, last_value etc. functions.) They are able to look through the data without any aggregation of it. So why they are analytical.

  • Why the report of the Observatory of SQL are not displayed?

    Why the report of the Observatory of SQL are not displayed?
    SQL> set serveroutput on
    SQL> variable my_rept CLOB;
    SQL> BEGIN
      2  :my_rept :=DBMS_SQLTUNE.REPORT_SQL_MONITOR();
      3  END;
      4  /
    
    PL/SQL procedure successfully completed.
    
    Elapsed: 00:00:00.93
    
    SQL> print :my_rept
    
    MY_REPT
    -----------------------------------------------------------------------
    
    SQL Monitoring Report
    
    SQL>

    Check your STATISTICS_LEVEL and CONTROL_MANAGEMENT_PACK_ACCESS to see if they are correctly defined. The former should be set to STANDARD or ALL and the latter should be set to DIAGNOSTIC + TUNING.

  • Why, the views have a tab constraints in SQL Developer 4.0.3 or 4.1.0?

    I create constraints on views all the time now to improve performance when you are working on a dblink, but I can only confirm the looking at the DOF tab. shouldn't it be a tab constraints as tables have? After all, it has a triggers for the views tab.

    Compared to this, should not be an option to right click in the window connections for stress and relaxation on views as there are Tables?

    Thanks in advance,

    Steven Wilson

    We have recently added support for constraints on views in the Data Modeler. Add that here is something we could look at for a future version.

  • Why my static PL/SQL within SQL local variable is not transformed in space in the shared pool?

    Hello everyone,

    Oracle version: 12.1.0.1.0 - 64 bit

    OS: Linux Fedora Core 17 X86_64

    Description of the problem:

    I'm reading an interesting book of online oracle named: SQL in PL/SQL

    On page 11, it reads the following:

    In the absence of a compilation error, the PL/SQL compiler generates an equivalent statement of SQL regular text and stores this with the generated machine code. This instruction uses placeholders where the embedded SQL statement uses identifiers that have been resolved in the PL/SQL unit.

    What I understand of this (please, correct me if I'm wrong) is that whenever I write some static/embedded statement SQL within a PL/SQL block in which there are a few local variables in PL/SQL, and then final generated SQL statement (after resolution of identifier) will include placeholders (bind variables) instead of these identifiers the PL/SQL.

    I just wanted to see this in practice, so I made the following test:

    Test case:

    SQL> connect / as sysdba
    SQL> alter system flush shared_pool
    
    system altered
    

    So, normally, after execution of the foregoing the shared_pool on my development environment is now empty.

    And then I run the following PL/SQL block

    <<b>>
    declare
        depid hr.employees.department_id%type := 100;
        cnt   pls_integer := 0;
    begin
        select
            count(*)
        into
            b.cnt
        from
            hr.employees t1
        where
            t1.department_id = b.depid;
    end;
    /
    --
    --
    column sql_id new_value sqlid_saved;
    --
    select
        v1.sql_id
    from
        v$sql v1
    where
        v1.sql_text like '%t1.department_id = b.depid%';
    --     
    -- 
    select
        v1.sql_text
    from
        v$sql v1
    where
        v1.sql_id = '&sqlid_saved';
    

    And the result was:

    SQL_ID
    -------------
    687dxvsmrwm9z
    g17tjb3f8t94y

    6 old: v1.sql_id = "& sqlid_saved"
    6 new: v1.sql_id = "g17tjb3f8t94y".

    SQL_TEXT
    --------------------------------------------------------------------------------
    < < b > > declare depid hr.employees.department_id%type: = 100;     CNT pls_in
    SEB: = 0; Start select count (*) in b.cnt of
    T1 hr. Employees where t1.department_id = b.depid; end;


    SQL >

    What I don't understand is the main part of the SQL_TEXT I put in red.

    Instead of

    T1.department_id = b.depid

    I expected to see something like

    T1.department_id = : B

    In other words, some bind variable, because depid is a local variable inside my PL/SQL block used in integrated/static SQL statement, so it must be converted to a reserved space in the shared pool instead of the original identifier.

    You kindly could you tell me what I misunderstood?

    Thanks in advance

    > But once again no variable binding in the stored/parsed SQL statement. That's what I don't understand.

    Submitted by PL/SQL SQL is "normalized", which includes (among other things) convert uppercase. Your query on v$ sql is looking for '% hr.employees% '.

  • Do not install the update for SQL Server 2005 Service Pack 3 (KB970892) security code error C0000005

    Do not install the update for SQL Server 2005 Service Pack 3 (KB970892) security code error C0000005

    This update didn't install when I used Vista and is still unable to install now, I updated to Windows 7.

    Have searched for a solution for months with no result. Reason why I updated.

    Any help much appreciated.

    DOUGY,

    Microsoft SQL Server 2005 Express Edition Service Pack

    Post here for assistance:

    http://social.msdn.Microsoft.com/forums/en-us/sqlsetupandupgrade/threads/

    --

  • Why the function of integrated separator string is missing in Oracle?

    Hi all

    It's maybe a generic/discussion question. And it's purely for learning about how Oracle prioritizes its development on the functions in construction.

    Well, we have very userful built-in functions (http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm) is transformed during the versions of Oracle from simple to very complex (syntactic xml and data mining functions)

    But why is this important function to split a string has been neglected (may not be the right word) by Oracle.

    Be a learner curious and admirer of such a wonderful technology database called Oracle, I always thought that it must have a dedicated channel, divide the function.

    My question is: is this something that can be generalized in a built-in function?

    or

    Is he coming releases?

    At least a simple function first (I guessed right his name would be splitstr and the very basic features to do our job of splitting, maybe I'm wrong in thinking this way, please correct me if...) Thank you in advance!)

    splitstr('A,B,c',',','col')-> (separator ',' and the fractionating column mode)

    Output: A B C (three separate columns)

    splitstr('A,B,c',',','row')-> (separator ',' and the mode line split)

    Output:

    A

    B

    C

    ----------

    If oracle has this, there will be a lot of code reduced and we can be saved by connect or recursive with clause or as a matter of fact even xmltable (with or without tokenizer ) for the separation of the channels.

    What you have to say about this? You can ignore this naïve question if is not a value you answer.

    And thanks for everyone who reads this discussion!

    See you soon,.

    Manik.

    Can you please help me understand why Oracle has its participation in develping and DBMS_UTILITY.COMMA_TO_TABLE now then?

    http://docs.Oracle.com/CD/B19306_01/AppDev.102/b14258/d_util.htm

    Oracle can only tell you why they have developed this particular function. But the fact that Oracle included in a package of "utility" tells me that they do not consider that there was a generic number of use cases. These functions often begin as internal functions that Oracle decides to publish.

    But if you read this API spec you'll see that he does that to a VERY PARTICULAR use case and has several restrictions.

    The list must be a list separated by commas of non-vide: another thing that a comma-separated list is rejected. Do not count the commas inside double quotes.

    Entries in the list separated by commas may not include multibyte and dashes (-) character.

    Also, returns a collection which would normally be used only for a very limited number of items.

    It is not yet near a general-purpose function.

    A major complication with such a function in SQL is sql is generally used with more than one, or even millions, of lines.

    How you specify to Oracle where to put the collection on each of these lines?

    New - Oracle is a relational database. With the help of sql to manipulate collections is NOT a relational paradigm.

    Just my opinion. Others can and will disagree. But you may have to wait for the weekend for these answers.

  • Using the shell script sql variable

    OS: Oracle Linux 5.10

    DB Oracle 11.2.0

    I have need to query the database and assign the return value to a variable of shell, but it does not work.

    create table imr_env (key varchar2(1000), value varchar2(1000) ;
    insert into imr_env values('TblspcUsagePct','90');
    commit;
    

    Here is the shell script:

    #!/bin/bash
    echo "in script"
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ; export ORACLE_HOME
    ORACLE_SID=IMR1 ; export ORACLE_SID
    export PATH=$PATH:$ORACLE_HOME/bin
    
    pct=`sqlplus -S app/manager <<END
           set serveroutput on
           declare
              output_val number ;
           BEGIN
              select value into output_val from imr_env where key = 'TblspcUsagePct' ;
              dbms_output.put_line('output_val: ' || to_char(output_val)) ;
           END ;
           /
           exit;
    END`
    
    ## another sqlplus connection, use $pct in the where clause
    
    echo "var value is $pct"
    
    

    Here is the result:

    SQL> ./test.sh
    in script
    var value is 
    
    output_val: 90
    

    Why isn't the shell variable is populated with the value retrieved from the database?

    I need to use $pct in another query that will be storage spaces that are at least 90% full.

    I had to change to a korn shell - I couldn't get the "READ" command in shell or bash.

    But it is not only "READ" command:

    SQL > select * from IMR_ENV;

    THE KEY VALUE

    ------------------------- -----

    TblspcWarningLimit 90

    TblspcUsagePct 50

    SQL > exit

    Disconnected from the database to Oracle 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    With partitioning, OLAP, Data Mining and Real Application Testing options

    $ cat test.sh

    VAL = $(sqlplus-S test/test)<>

    Set feedback off

    set the position

    Select (value) from imr_env, including the key to_number = "TblspcUsagePct";

    Select (value) from imr_env, including the key to_number = "TblspcWarningLimit";

    "exit";

    EXPRESSIONS OF FOLKLORE

    )

    set $VAL

    Echo $1

    Echo $2

    $./test.sh

    50

    90

    $ echo $SHELL

    / bin/bash

    $

  • Several SQL statements with zero executions in the region of SQL

    Hello

    one of my databases has a large number of statements in the SQL box with zero executions. Some of them analyzed several times without a single run. Why the database stores these statements and how to avoid or reduce them?

    My problem is that the only time or zero time sql statements take the largest part of the area of sql:

    -sql statement and only once and without executing sql statements

    Select

    Count (1) num_sql_total,.

    sum (decode (executions, 1, 1, 0)) num_one_use_sql,.

    sum (decode (executions, 0, 1, 0)) num_no_use_sql,.

    Sum (RUNTIME_MEM) / 1024/1024 mb_used,.

    sum (decode (executions, sharable_mem, 1, 0)) / 1024/1024 mb_for_one_use_sql,.

    sum (decode (executions, 0, sharable_mem, 0)) / 1024/1024 mb_for_no_use_sql

    Of

    GV$ sqlarea

    where

    RUNTIME_MEM > 0;

    NUM_SQL_TOTAL NUM_ONE_USE_SQL NUM_NO_USE_SQL MB_USED MB_FOR_ONE_USE_SQL MB_FOR_NO_USE_SQL

    23318

    8739

    8027

    1420,95619106293

    381,41183757782

    530,999855041504

    Concerning

    Thomas

    This is not unusual. Another app could analyze for example hard the most often used SQLs in upstairs app - making benefit of further processing (in theory) of sweet analysis when you use these SQLs.

    In fact, I remember reading something to this effect as a performance for some factor or another Oracle document or note?

    So unless you have serious questions of shared pool, why bother with these sliders? What would be the problem?

  • Why the comment is considered ddl statement

    Hi all

    In an interview, asked me 'why comment is considered a DDL statement if it does change not the structure of an object'.

    My answer was if it does not directly change of structure of an object (table, column, view etc.) and however it provides information on this subject.

    Comment also adds data in the table data dictionary.

    But the interviewer was not satisfied with my answer.

    I tried to look for the answer on the web, but did not find a lot of details.

    Could someone please suggest something on that.

    SomeoneElse says:

    Because it performs a validation.

    Each Oracle DDL commits implicitly but DDL is not all that implicitly commits. And this not is not commit defines what talking about DDL statement. One of the features of the DOF is active DDL change attributes of objects and that is exactly what COMMENT. He adds comments of the table/column and we can discuss how significant are comments, but it does not change the comments in fact are attributes of objects.

    SY.

  • Can I use function defined by the user in the control file Sql Loader?

    Hi Master,

    Can I use fuction user-defined in the sql loader control file? Please advise... !!

    If you can provide an example... It's very kind of you.

    Concerning

    AR

    Here are a few examples that should give you clues: Sql loader

    I seriously wonder if why you use the century previous SQL * Loader instead of a external table:

    ORACLE-BASE - external Tables: querying data from flat files in Oracle


  • WHY THE PGA IS REQUIRED FOR EACH USER?

    Hello everyone;

    I have a question about PGA.

    WHY THE PGA IS REQUIRED FOR EACH USER?

    What I got from google...

    Even if information analysis of SQL or PL/SQL is already available in the library of shared pool cache,

    the value that the user want to execute the statement select or update cannot be shared.

    I can't realize that someone can show an example of clear, if possible?

    DB version is 10.2.0.4.0

    OS: oracle linux 5.5

    Thanks in advance...

    PGA is memory private belonging to a specific user. This private memory contains of these pieces that is not supposed to be shared with others. For example, when you sort a part of the data, that does not mean all he wants too. If Oracle retains the sorted data requested by you in your own PGA. Similarly, if you want to query a table with a value of 10, it does not mean that all want the same thing. If these structures are stored in the PGA. For a more detailed description, read the link given by Hoek.

    HTH

    Aman...

  • Question about the Type of SQL equivalent Collection Oracle

    (1) I read documentation collections oracle, can I know why the 'STORE AS' clause is used only when creating the table, but not when the object creation?

    Table:

    CREATE TYPE CourseList AS TABLE OF VARCHAR2(64);
    CREATE TABLE department (
      name     VARCHAR2(20),
      director VARCHAR2(20),
      office   VARCHAR2(20),
      courses  CourseList)
      NESTED TABLE courses STORE AS courses_tab;
    

    Object:

    CREATE TYPE CourseList AS TABLE OF VARCHAR2(10)  -- define type
    CREATE TYPE Student AS OBJECT ( -- create object
       id_num  INTEGER(4),
       name    VARCHAR2(25),
       address VARCHAR2(35),
       status CHAR(2),
       courses CourseList)  -- declare nested table as attribute
    

    (2) also can I know what is the difference between OBJECT & RECORD?

    My understanding is that the OBJECT is entity sql where you create and store data in this document, while the RECORDING is PLSQL entity where you group different types of data elements in one?, hope you can give me an example to better understand.

    Thank you.

    Ariean wrote:

    (1) I read documentation collections oracle, can I know why the 'STORE AS' clause is used only when creating the table, but not when the object creation?

    Fix. The column of the course are (similar to an array) collection type. This requires a "nested table" for this column store the list of the values in this column.

    This approach however is an exception to the rule - as it flies in the face of robust and sound design mathematically, relational.

    (2) also can I know what is the difference between OBJECT & RECORD?

    A record is similar to a struct in C/C++. A record contains one or more fields/variables. It's a basic structure for the creation of a 'container of variables' and by the way this container between code units, as oppose to pass individual variables. It is also the basis for the creation of intelligent data structures in structured programming. For example an IP socket structure is a unique smart container consisting of items/variables such as socket, protocol family and type, flags address and so on.

    It is a standard feature in most (if not all) of the structured programming languages - C / C++ and Pascal, Cobol and Visual Basic. PL/SQL is based on the Ada language - and like other members of language (including Pascal), PL/SQL uses the word registration reserve to set a record structure.

    Objects are created in Oracle using the "create or replace type... as object'clause. The correct term is an object oriented class. This differs from a record as a class has data and code. Unlike a record that counts only data.

    Given in a class are called properties. The code of a class is called methods. There are different types of member methods and methods such as the static class constructors, destructive methods.

    Oracle class object is defined using SQL. (Methods) code of this class is set using PL/SQL.

    The classes also supports features like inheritance. Allowing a child class extend the implementation of the parent class. This is not supported by a record structure, beyond a structure that contains another structure as a field attribute. Classes supports the substitution in a child class, the methods of the parent class. As records are composed only of data and not code, there is nothing like ito feature for structures Records.

  • Why the hell use nested tables?

    Hello
    I'm boning up on top of the PL/SQL (again) waiting to get a new job.
    I have several years of experience in various roles related to the data, including many used Oracle.
    On the issue of collections, I ask myself, in light of my experience, to find and not for the first time, why the hell would anyone want to do this:

    create or replace type TEST_TT as table of varchar2(10);
    /
    
    create table TEST_TABLE ( X number
                             ,Y test_tt) 
                             nested table Y store as Y_TABLE;                      
    I really, really, can't think why we want to store data like that. It seems unnecessarily complex, hiding a one-to-many relationship inside TEST_TABLE, which should rather be modeled and implemented as a separate table.
    In addition, there are a lot of tutorials on the collections that tell us how to do the above (in fact I read Feuerstein right now), but nobody seems to tell us WHY we should do it.

    Can someone help me out here?

    Thank you.
    Jason

    I can't imagine wanting to create a table like this one either (or, if this can help, can Tom Kyte).

    The collections are terribly useful in PL/SQL, when they help you avoid one treatment per line. I can't imagine wanting to integrate into my data model. Frankly, it's much the same with the types of objects - they are quite useful in PL/SQL, but I would never want to create a table in my data model that contained an object.

    Justin

  • call the collection of sql

    Hello guys,.

    I just wonder can I get the SQL collection via PL/SQL. However, I can't call from pure SQL. In other words,.
    create or replace type plch_number is table of number;
    
    create or replace package den 
    is
    
      my_arr plch_number := plch_number();
      procedure doldur(a pls_integer);
      function func2 return plch_number;
    
    end;
    
    create or replace
    package body den 
    is
    
    procedure doldur(a pls_integer)
    is
    begin
      my_arr.extend(a);
      for i in 1..a
      loop
        my_arr(i) := i;
      end loop;
    end;
    
    
    function func2 return plch_number 
    is
    begin
      return my_arr;
    end;
    
    end;
    I can run the following code without any errors.
    set serveroutput on;
    declare
      a integer;
    begin
      den.doldur(10);
      select count(*) into a from table(den.my_arr);
      dbms_output.put_line(a);
    end;
    
    
    ------------------------------------------
    anonymous block completed
    10
    However, when run the code sql. Although it is almost the same code that I have run PL/SQL block, it gives an error, ORA-06553: PLS-221.
    select * from table(den.my_arr);
    ORA-06553: PLS-221
    In addition, I can call the function from the package through SQL without any error. But why I can't invoke collections directly from SQL, why?
    select * from table(den.func2);
    Thank you.

    970992 wrote:
    OK, but I just want to know, why? I mean, is there a technical explanation?

    Unfortunately, in ORACLE SQL & PL/SQL keep two separate motors. All SQL allows you to call is UDF (user-defined functions). You can't call procedures in SQL and you cannot reference package variables. Everything works and even this is not always possible - for example, you cannot call a UDF with OUT or IN OUT. You cannot call function PL/SQL defined parameter and return value types.

    SY.

Maybe you are looking for