HomeНаука и техникаRelated VideosMore From: radhikaravikumar

SQL: Delete Vs Truncate Vs Drop

788 ratings | 59472 views
In this tutorial, you'll learn the difference between delete/drop and truncate. PL/SQL (Procedural Language/Structured Query Language) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database (since version 7), TimesTen in-memory database (since version 11.2.1), and IBM DB2 (since version 9.7).[1] Oracle Corporation usually extends PL/SQL functionality with each successive release of the Oracle Database. PL/SQL includes procedural language elements such as conditions and loops. It allows declaration of constants and variables, procedures and functions, types and variables of those types, and triggers. It can handle exceptions (runtime errors). Arrays are supported involving the use of PL/SQL collections. Implementations from version 8 of Oracle Database onwards have included features associated with object-orientation. One can create PL/SQL units such as procedures, functions, packages, types, and triggers, which are stored in the database for reuse by applications that use any of the Oracle Database programmatic interfaces. PL/SQL works analogously to the embedded procedural languages associated with other relational databases. For example, Sybase ASE and Microsoft SQL Server have Transact-SQL, PostgreSQL has PL/pgSQL (which emulates PL/SQL to an extent), and IBM DB2 includes SQL Procedural Language,[2] which conforms to the ISO SQL’s SQL/PSM standard. The designers of PL/SQL modeled its syntax on that of Ada. Both Ada and PL/SQL have Pascal as a common ancestor, and so PL/SQL also resembles Pascal in several aspects. However, the structure of a PL/SQL package does not resemble the basic Object Pascal program structure as implemented by a Borland Delphi or Free Pascal unit. Programmers can define public and private global data-types, constants and static variables in a PL/SQL package.[3] PL/SQL also allows for the definition of classes and instantiating these as objects in PL/SQL code. This resembles usage in object-oriented programming languages like Object Pascal, C++ and Java. PL/SQL refers to a class as an "Abstract Data Type" (ADT) or "User Defined Type" (UDT), and defines it as an Oracle SQL data-type as opposed to a PL/SQL user-defined type, allowing its use in both the Oracle SQL Engine and the Oracle PL/SQL engine. The constructor and methods of an Abstract Data Type are written in PL/SQL. The resulting Abstract Data Type can operate as an object class in PL/SQL. Such objects can also persist as column values in Oracle database tables. PL/SQL is fundamentally distinct from Transact-SQL, despite superficial similarities. Porting code from one to the other usually involves non-trivial work, not only due to the differences in the feature sets of the two languages,[4] but also due to the very significant differences in the way Oracle and SQL Server deal with concurrency and locking. There are software tools available that claim to facilitate porting including Oracle Translation Scratch Editor,[5] CEITON MSSQL/Oracle Compiler [6] and SwisSQL.[7] The StepSqlite product is a PL/SQL compiler for the popular small database SQLite. PL/SQL Program Unit A PL/SQL program unit is one of the following: PL/SQL anonymous block, procedure, function, package specification, package body, trigger, type specification, type body, library. Program units are the PL/SQL source code that is compiled, developed and ultimately executed on the database. The basic unit of a PL/SQL source program is the block, which groups together related declarations and statements. A PL/SQL block is defined by the keywords DECLARE, BEGIN, EXCEPTION, and END. These keywords divide the block into a declarative part, an executable part, and an exception-handling part. The declaration section is optional and may be used to define and initialize constants and variables. If a variable is not initialized then it defaults to NULL value. The optional exception-handling part is used to handle run time errors. Only the executable part is required. A block can have a label. Package Packages are groups of conceptually linked functions, procedures, variables, PL/SQL table and record TYPE statements, constants, cursors etc. The use of packages promotes re-use of code. Packages are composed of the package specification and an optional package body. The specification is the interface to the application; it declares the types, variables, constants, exceptions, cursors, and subprograms available. The body fully defines cursors and subprograms, and so implements the specification. Two advantages of packages are: Modular approach, encapsulation/hiding of business logic, security, performance improvement, re-usability. They support object-oriented programming features like function overloading and encapsulation. Using package variables one can declare session level (scoped) variables, since variables declared in the package specification have a session scope.
Html code for embedding videos on your blog
Text Comments (22)
Ramakrishna Bhuma (1 year ago)
Good job!
Suresh Kesari (1 year ago)
tqu mam ,
Chaitanya o.v.s (1 year ago)
nice explanation mam,thank u
Raj Kurakula (1 year ago)
very good explanation radhika,keep it up
Kalyan Ch (1 year ago)
Easy to understand and very good explication...Simply superb..
Rishabh Jain (2 years ago)
Nice vdeo, I always got confused between the three.. it has optimal details not more or less.. Good one.
Nahid (2 years ago)
Thanks for your video, in my last interview, I was asked about isolation level. Can you do a video on that? Thanks again
Prashanth Mysore (2 years ago)
Hey Radhika good one, please be confident while delivering and volume should be bit high. thank you.
sham rajput (2 years ago)
Nice Mam.................very helpfull................................
srini vasan (2 years ago)
nice explanation
vasudeva reddy (2 years ago)
Very nyc with required time taking , not less, not more....by the way what is "TRIGER"
#reboot# (2 years ago)
Very hard to understand language.
A Khan (2 years ago)
Thanx u very much
satish ramapragada (1 year ago)
A Khan
SudhaRani Rayana (2 years ago)
It is very clear and really understandable...
Vinit Rana (2 years ago)
easy to understand
voxmovo (2 years ago)
Very clear to understanding thank you Ms. Radhika
Akash (2 years ago)
More Details :- Delete command first check the where condition , get the satisfied tuple..check the triggers .. and then Copy it in the Roll-back table Space (Eqivalent to recyclebin ) and then . delete the rows .. truncate directly delete the data.. That is why Delete is slower then truncate.. Also Delete is a DML Command so it can be roll-backed because [ Transaction Control (TCL): statements are used to manage the changes made by DML statements ] truncate and drop are DDL commands , cannot use TCL commands on them . We can use flashback table statement to retrieve the content back..from recyclebin table
Sachin Gabhane (2 years ago)
which is faster truncate or drop?
Rishabh Jain (2 years ago)
Did you find this answer? Even I would like to know the answer.
valluru sudeep (2 years ago)
I am a beginner ,your videos are short, sweet and exactly what I'm looking for, thank you!
Amar Kukreja (3 years ago)
Nicely explained!!!

Would you like to comment?

Join YouTube for a free account, or sign in if you are already a member.