Home
Search results “Begin end select oracle”
56/125 Oracle PLSQL: Working with Packages / Forward Declaration
 
11:59
Learn Oracle PLSQL EXAM 1Z0-144 --------------------------------------------------------------------- create or replace package proc_rules_calling is procedure print_emp_details (p_emp_id number); end; create or replace package body proc_rules_calling is function get_no_work_days (p_emp_id number) return number is v_hiredate date; begin select HIRE_DATE into v_hiredate from employees where EMPLOYEE_ID=p_emp_id; return round(sysdate-v_hiredate); end; procedure print_emp_details (p_emp_id number) is -- we will call the funcion from this procedure --so it should be defined above in order to invoke it v_details employees%rowtype; begin select * into v_details from employees where EMPLOYEE_ID=p_emp_id; dbms_output.put_line( 'id:'||v_details.EMPLOYEE_ID); dbms_output.put_line( 'fname:'||v_details.FIRST_NAME); dbms_output.put_line( 'salary:'||v_details.salary); dbms_output.put_line( 'hire date:'||v_details.HIRE_DATE); dbms_output.put_line( 'no of days work:'||get_no_work_days(p_emp_id)); end; end; execute proc_rules_calling.print_emp_details(101); ------------------------------------------------------------------------------ --same example but we will change the order create or replace package proc_rules_calling is procedure print_emp_details (p_emp_id number); end; --it will give error --'GET_NO_WORK_DAYS' not declared in this scope create or replace package body proc_rules_calling is procedure print_emp_details (p_emp_id number) is v_details employees%rowtype; begin select * into v_details from employees where EMPLOYEE_ID=p_emp_id; dbms_output.put_line( 'id:'||v_details.EMPLOYEE_ID); dbms_output.put_line( 'fname:'||v_details.FIRST_NAME); dbms_output.put_line( 'salary:'||v_details.salary); dbms_output.put_line( 'hire date:'||v_details.HIRE_DATE); dbms_output.put_line( 'no of days work:'||get_no_work_days(p_emp_id)); end; function get_no_work_days (p_emp_id number) return number is v_hiredate date; begin select HIRE_DATE into v_hiredate from employees where EMPLOYEE_ID=p_emp_id; return round(sysdate-v_hiredate); end; end; ------------------------------------------------------------------ --the solution is to do forward declaration drop package proc_rules_calling; create or replace package proc_rules_calling is procedure print_emp_details (p_emp_id number); end; create or replace package body proc_rules_calling is function get_no_work_days (p_emp_id number) return number; -- we put the function specification only procedure print_emp_details (p_emp_id number) is -- we will call the funcion from this procedure --so it should be defined above in order to invoke it v_details employees%rowtype; begin select * into v_details from employees where EMPLOYEE_ID=p_emp_id; dbms_output.put_line( 'id:'||v_details.EMPLOYEE_ID); dbms_output.put_line( 'fname:'||v_details.FIRST_NAME); dbms_output.put_line( 'salary:'||v_details.salary); dbms_output.put_line( 'hire date:'||v_details.HIRE_DATE); dbms_output.put_line( 'no of days work:'||get_no_work_days(p_emp_id)); end; function get_no_work_days (p_emp_id number) return number is v_hiredate date; begin select HIRE_DATE into v_hiredate from employees where EMPLOYEE_ID=p_emp_id; return round(sysdate-v_hiredate); end; end; execute proc_rules_calling.print_emp_details(104);
Views: 855 khaled alkhudari
81/125 Oracle PLSQL: Design consideration  / Bulk Binding 2
 
14:03
Learn Oracle PLSQL EXAM 1Z0-144 Bulk Binding Bulk collect begin dbms_output.put_line(sqlerrm (-12899)); end; ------------------------------------------------------------- -------------------------------------------------------------- drop table ename; create table ename as select distinct first_name from employees; select first_name from ename; declare type ename_t is table of varchar2(100); ename_table ename_t:=ename_t(); c number:=0; errors number; begin for i in (select * from ename ) loop c:=c+1; ename_table.extend; ename_table(c):=i.first_name; end loop; forall i in ename_table.first.. ename_table.last save exceptions update ename set first_name=first_name||' to be added:)' --14 char where first_name=ename_table(i); exception when others then errors := sql%bulk_exceptions.count; dbms_output.put_line ('The total number of errors occured are '|| errors); for j in 1..errors loop dbms_output.put_line ('The error iteration is ' || sql%bulk_exceptions(j).error_index || ' and the error code is ' || sql%bulk_exceptions(j).error_code || ' and the error message is ' || sqlerrm ( -sql%bulk_exceptions(j).error_code) ); end loop; end; select * from ename ----------------------------- drop table ename; create table ename as select distinct first_name from employees; select first_name from ename; declare type ename_t is table of varchar2(100); ename_table ename_t:=ename_t(); c number:=0; errors number; begin /* for i in (select * from ename ) loop c:=c+1; ename_table.extend; ename_table(c):=i.first_name; end loop; */ select first_name bulk collect into ename_table from ename; forall i in ename_table.first.. ename_table.last save exceptions update ename set first_name=first_name||' to be added:)' --14 char where first_name=ename_table(i); exception when others then errors := sql%bulk_exceptions.count; dbms_output.put_line ('The total number of errors occured are '|| errors); for j in 1..errors loop dbms_output.put_line ('The error iteration is ' || sql%bulk_exceptions(j).error_index || ' and the error code is ' || sql%bulk_exceptions(j).error_code || ' and the error message is ' || sqlerrm ( -sql%bulk_exceptions(j).error_code) ); end loop; end; select * from ename
Views: 527 khaled alkhudari
PLS-2: My First PL/SQL Program
 
11:34
For Full Course Experience Please Go To http://mentorsnet.org/course_preview?course_id=5 Full Course Experience Includes 1. Access to course videos and exercises 2. View & manage your progress/pace 3. In-class projects and code reviews 4. Personal guidance from your Mentors Goal is to write your first PL/SQL program. The basic program unit in PL/SQL is the block. A PL/SQL block is defined by the keywords DECLARE, BEGIN, EXCEPTION, and END. These keywords partition the block into a declarative part, an executable part, and an exception-handling part. Example of a Block DECLARE bonus NUMBER(8,2); emp_id NUMBER(6) := 100; BEGIN SELECT salary * 0.10 INTO bonus FROM employees WHERE employee_id = emp_id; Exception When NO_DATA_FOUND THEN null ; END; This is a typical PL/SQL block where 10% of salary is selected and stored on a temp variables bonus. If for some reason there is no employee with empid = 100 then the control will come to exception area and the code in the exception area will be executed. These blocks can be entirely separate or nested one within another. The basic units (procedures and functions, also known as subprograms, and anonymous blocks) that make up a PL/SQL program are logical blocks, which can contain any number of nested sub blocks. Therefore, one block can represent a small part of another block, which in turn can be part of the whole unit of code. Anonymous Blocks Anonymous blocks are unnamed blocks. They are declared at the point in an application where they are to be executed and are passed to the PL/SQL engine for execution at run time. You can embed an anonymous block within a pre-compiler program and within iSQL*Plus or Server Manager. Triggers in Oracle Developer components consist of such blocks. Subprograms Subprograms are named PL/SQL blocks that can accept parameters and can be invoked. You can declare them either as procedures or as functions. Generally use a procedure to perform an action and a function to compute a value. You can store subprograms at the server or application level. Using Oracle Developer components (Forms, Reports, and Graphics), you can declare procedures and functions as part of the application (a form or report) and call them from other procedures, functions, and triggers (see next page) within the same application whenever necessary. Note: A function is similar to a procedure, except that a function must return a value.
Views: 65728 Oresoft LWC
Solving ORA-01033 oracle initialization or shutdown in progress 12c
 
01:26
Solving ORA-01033 oracle initialization or shutdown in progress 12c select name, open_mode from v$pdbs; Solution 1 Alter pluggable database pdborcl open Solution 2 create or replace TRIGGER pdb_startup AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'alter pluggable database pdborcl open'; END;
Views: 10773 khaled alkhudari
PL/SQL tutorial 15: DML Trigger With Before Insert, Update and Delete DML Examples
 
09:17
PL/SQL Tutorial 15 explaining DML Trigger with examples such as Before Insert, Update and Delete in Detail. ------------------------------------------------------------------------ ►►►LINKS◄◄◄ Blog : http://bit.ly/dml-triggers Previous Tutorial ► Trigger Intro : https://youtu.be/R3fvX_xf5P4 ► SELECT-INTO : https://youtu.be/F5eMJhwmCQs ►IF-THEN-ELSIF: https://youtu.be/aW9XgUHSr0I ------------------------------------------------------------------------- ►►►Let's Get Free Uber Cab◄◄◄ Use Referral Code UberRebellionRider and get $20 free for your first ride. ------------------------------------------------------------------------- ►Make sure you SUBSCRIBE and be the 1st one to see my videos! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ►►►Find me on Social Media◄◄◄ Follow What I am up to as it happens on https://twitter.com/rebellionrider https://www.facebook.com/imthebhardwaj http://instagram.com/rebellionrider https://plus.google.com/+Rebellionrider http://in.linkedin.com/in/mannbhardwaj/ http://rebellionrider.tumblr.com/ http://www.pinterest.com/rebellionrider/ You can also Email me at for E-mail address please check About section Please please LIKE and SHARE my videos it makes me happy. Thanks for liking, commenting, sharing and watching more of our videos This is Manish from RebellionRider.com ♥ I LOVE ALL MY VIEWERS AND SUBSCRIBERS
Views: 107804 Manish Sharma
SQL Prompt Tips - #7 Begin end highlight
 
01:12
In this short video, SQLServerCentral editor Steve Jones shows us some tips and tricks for SQL Prompt that you may not know. Video #7 is about begin and end highlighting. Visit http://www.red-gate.com/products/sql-development/sql-prompt/ for more info about SQL Prompt.
Views: 3734 Redgate Videos
bulk collect and forall in oracle example
 
03:46
DECLARE CURSOR c1 IS SELECT ENAME FROM emp; TYPE lv_emp_name_tbl IS TABLE OF VARCHAR2(50); lv_emp_name lv_emp_name_tbl; BEGIN OPEN c1; FETCH c1 BULK COLLECT INTO lv_emp_name LIMIT 5000; FOR c_emp_name IN lv_emp_name.FIRST .. lv_emp_name.LAST LOOP Dbms_output.put_line('Employee Fetched:' || c_emp_name); END LOOP; FORALL i IN lv_emp_name.FIRST .. lv_emp_name.LAST UPDATE emp SET sal = sal WHERE ename = lv_emp_name(i); COMMIT; Dbms_output.put_line('Salary Updated'); CLOSE c1; END; select * from emp;
Views: 59 Young India
Sql query to select all names that start with a given letter without like operator
 
03:02
Text Article http://csharp-video-tutorials.blogspot.com/2017/01/sql-query-to-select-all-names-that.html Slides http://csharp-video-tutorials.blogspot.com/2017/01/sql-query-to-select-all-names-that_31.html SQL Server Interview Questions and Answers text articles & slides http://csharp-video-tutorials.blogspot.com/2014/05/sql-server-interview-questions-and.html SQL Server Interview Questions and Answers playlist https://www.youtube.com/playlist?list=PL6n9fhu94yhXcztdLO7i6mdyaegC8CJwR All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists In this video we will discuss writing a SQL query to retrieve all student names that start with letter 'M' without using the LIKE operator. If the interviewer has not mentioned not to use LIKE operator, we would have written the query using the LIKE operator as shown below. SELECT * FROM Students WHERE Name LIKE 'M%' We can use any one of the following 3 SQL Server functions, to achieve exactly the same thing. CHARINDEX LEFT SUBSTRING The following 3 queries retrieve all student rows whose Name starts with letter 'M'. Notice none of the queries are using the LIKE operator. SELECT * FROM Students WHERE CHARINDEX('M',Name) = 1 SELECT * FROM Students WHERE LEFT(Name, 1) = 'M' SELECT * FROM Students WHERE SUBSTRING(Name, 1, 1) = 'M'
Views: 63295 kudvenkat
Part-3 (Oracle Procedures) Oracle PL SQL Training - Fast Track Series
 
18:26
Oracle Procedures Is a group of PL SQL statement that can call by name. Syntax CREATE [OR REPLACE] PROCEDURE procedure_name [ (parameter [,parameter]) ] IS | AS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [procedure_name]; Example:1 of procedure having Only parameter procedure. create or replace procedure insert_employee ( p_emp_name varchar2, p_deptno IN number ) is begin Insert into emp (id,name,deptno) values (emp_id_seq.nextval, p_emp_name, p_deptno); commit; end insert_employee; / Prerequisite for the Example:1 1. Need create emp table create table emp( id number, name varchar2(200), deptno number ); 2. Create sequence object. create sequence emp_id_seq start with 1 Increment by 1 nomaxvalue nocycle; How to call procedure created in Example:1 exec insert_employee('sanket',10); Or begin insert_employee('sanket',10); end; set pagesize 100 set linesize 100 column id format 999 column name format a6 column deptno format 999 select * from emp; ID NAME DEPTNO ---- ------ ------ 1 sanket 10 Example:2 of procedure having In/Out parameter procedure create or replace procedure insert_employee ( p_emp_name varchar2, p_deptno IN number, p_message OUT varchar2 ) is begin Insert into emp (id,name,deptno) values (emp_id_seq.nextval, p_emp_name, p_deptno); commit; p_message:= 'one row inserted...'; end insert_employee; / How to call procedure created in Example:2 set serveroutput on; declare v_message varchar2(100); begin insert_employee(‘',20,v_message); dbms_output.put_line(v_message); end; select * from emp; ID NAME DEPTNO ---- ------ ------ 1 sanket 10
Views: 1572 Sanket Patel
PLSQL Básico - Procedimientos (stored procedures)
 
14:04
Los procedimientos son almacenados en la base de datos con un nombre identificativo y puede tener o no parametros. Son de las estructuras más importantes junto con los paquetes y funciones. declaración básica: DECLARE PROCEDURE miprocedure_prc AS BEGIN ... END miprocedure_prc; hay 3 tipos de parametros, IN (entrada), OUT (salida), IN OUT (entrada/salida) Nota: El nombre de los parametros declarados en el procedimiento no necesariamente tiene que ser igual a los enviados al momento de ejecucion. Ejemplo: CREATE PROCEDURE procedure1_prc(p_1 number) .... al ser llamado puede ser: procedure1_prc(5); procedure1_prc(var_1); --- var_1 puede contener cualquier numero
Views: 29266 Daniel Nieto
SQLPLUS: LineSize & PageSize
 
03:49
In this tutorial, you'll learn how to set linesize and pagesize . 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.
Views: 18510 radhikaravikumar
Learning PL/SQL programming
 
29:21
Download the session ppts @ https://drive.google.com/file/d/0B_2D199JLIIpLXp5cm9QMFpVS00/view?usp=sharing 3:05 - Procedures 6:48 - Cursors 15:13 - Functions 16:36 - Triggers 21:35 - Package 23:59 - Exceptions
Views: 150573 BBarters
Dynamic SQL in Stored Procedure
 
09:32
In this video we will discuss, using dynamic sql in a stored procedure and it's implications from sql injection perspective. We will discuss performance implications of using dynamic sql in a stored procedure in a later video. Text version of the video http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-in-stored-procedure.html Slides http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-in-stored-procedure_11.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All SQL Server Tutorial Videos https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists Consider the following stored procedure "spSearchEmployees". We implemented this procedure in Part 139 of SQL Server tutorial. This stored procedure does not have any dynamic sql in it. It is all static sql and is immune to sql injection. Create Procedure spSearchEmployees @FirstName nvarchar(100) = NULL, @LastName nvarchar(100) = NULL, @Gender nvarchar(50) = NULL, @Salary int = NULL As Begin Select * from Employees where (FirstName = @FirstName OR @FirstName IS NULL) AND (LastName = @LastName OR @LastName IS NULL) AND (Gender = @Gender OR @Gender IS NULL) AND (Salary = @Salary OR @Salary IS NULL) End Go Whether you are creating your dynamic sql queries in a client application like ASP.NET web application or in a stored procedure, you should never ever concatenate user input values. Instead you should be using parameters. Notice in the following example, we are creating dynamic sql queries by concatenating parameter values, instead of using parameterized queries. This stored procedure is prone to SQL injection. Let's prove this by creating a "Search Page" that calls this procedure. Create Procedure spSearchEmployeesBadDynamicSQL @FirstName nvarchar(100) = NULL, @LastName nvarchar(100) = NULL, @Gender nvarchar(50) = NULL, @Salary int = NULL As Begin Declare @sql nvarchar(max) Set @sql = 'Select * from Employees where 1 = 1' if(@FirstName is not null) Set @sql = @sql + ' and FirstName=''' + @FirstName + '''' if(@LastName is not null) Set @sql = @sql + ' and LastName=''' + @LastName + '''' if(@Gender is not null) Set @sql = @sql + ' and Gender=''' + @Gender + '''' if(@Salary is not null) Set @sql = @sql + ' and Salary=''' + @Salary + '''' Execute sp_executesql @sql End Go Add a Web Page to the project that we have been working with in our previous video. Name it "DynamicSQLInStoredProcedure.aspx". Copy and paste the HTML and code available on my blog at the following link http://csharp-video-tutorials.blogspot.com/2017/04/dynamic-sql-in-stored-procedure.html At this point, run the application and type the following text in the "Firsname" text and click "Search" button. Notice "SalesDB" database is dropped. Our application is prone to SQL injection as we have implemented dynamic sql in our stored procedure by concatenating strings instead of using parameters. ' Drop database SalesDB -- In the following stored procedure we have implemented dynamic sql by using parameters, so this is not prone to sql injecttion. This is an example for good dynamic sql implementation. Create Procedure spSearchEmployeesGoodDynamicSQL @FirstName nvarchar(100) = NULL, @LastName nvarchar(100) = NULL, @Gender nvarchar(50) = NULL, @Salary int = NULL As Begin Declare @sql nvarchar(max) Declare @sqlParams nvarchar(max) Set @sql = 'Select * from Employees where 1 = 1' if(@FirstName is not null) Set @sql = @sql + ' and [email protected]' if(@LastName is not null) Set @sql = @sql + ' and [email protected]' if(@Gender is not null) Set @sql = @sql + ' and [email protected]' if(@Salary is not null) Set @sql = @sql + ' and [email protected]' Execute sp_executesql @sql, N'@FN nvarchar(50), @LN nvarchar(50), @Gen nvarchar(50), @sal int', @[email protected], @[email protected], @[email protected], @[email protected] End Go On the code-behind page, use stored procedure spSearchEmployeesGoodDynamicSQL instead of spSearchEmployeesBadDynamicSQL. We do not have to change any other code. At this point run the application one more time and type the following text in the "Firstname" textbox and click the "Search" button. ' Drop database SalesDB -- Notice "SalesDB" database is not dropped, So in this case our application is not succeptible to SQL injection attack. Summary : Whether you are creating dynamic sql in a client application (like a web application) or in a stored procedure always use parameters instead of concatnating strings. Using parameters to create dynamic sql statements prevents sql injection.
Views: 34731 kudvenkat
SQL:Max/Min Functions
 
03:38
In this tutorial, you'll learn how to use max min functions in sql queries. 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.
Views: 4568 radhikaravikumar
PL/SQL: Ref cursor Types
 
07:57
In this tutorial, you'll learn the types of ref cursors.. 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.
Views: 12754 radhikaravikumar
Oracle Core, Лекция 5
 
53:46
Ссылка на файл с презентацией: https://docs.google.com/presentation/d/1xANFkC3tkFdby_HIFEEwtqInJqKlgx4ykiIbarK1EPE/edit?usp=sharing (презентация может быть с анимацией) Ссылка на краткий конспект лекции: https://docs.google.com/document/d/1x80R-XlWBI_zFzNN2JMmby2wIvBb7jnfshn9axNXEKs/edit?usp=sharing 1. Общие сведения, история возникновения PL/SQL 2. Среда исполнения 3. Структура PL/SQL блока (declare, begin, exception, end). Именованные/неименованные (анонимные) блоки pl/sql. Вложенные блоки pl/sql 4. Набор разрешенных символов. Требования к именованию идентификаторов. Представление v$reserved_words 5. Арифметические операторы. Логические операторы отношения. 6. Комментарии и метки 7. Основные типы и структуры данных (скалярный, составной, ссылка, lob) 8. Значение null 9. Числовые типы: Number, Number(n), Number(n, m), Pls_Integer/Binary_Integer, Binary_Float, Binary_Double, Natural, Naturaln, Positive, Positiven, Signtype, Simple_Integer, Simple_Float, Simple_Double) 10. Строковые типы: Char, Varchar2, NChar, NVarchar2, Raw, Long, Long Raw 11. Rowid и Urowid 12. Операции со строками. Взаимодействие строк со значением Null 13. Типы для моментов и интервалов времени: Date, Timestamp, Interval. Возможные операции 14. Тип Boolean 15. Типы Lob: BFile, BLob, CLob, NCLob 16. Объявление переменных и констант 17. Составные и динамические типы: Record, %RowType, %Type 18. Пользовательские подтипы Subtype 19. Выражения 20. Функции для работы с NULL: Decode, Nvl, Nvl2, Coalesce 21. Преобразование типов явное и неявное. 22. Таблица неявного преобразования типов. 23. Таблица явного преобразования типов 24. Основные управляющие структуры 25. Конструкция IF...THEN..ELSIF...ELSE 26. Конструкция выбора по условию CASE (простой и с поиском) 27. Циклы Loop... end loop, While loop, For loop, цикл по курсору 28. Оператор Goto Oracle Database, БД Oracle, вебинар Oracle, презентация Oracle, урок Oracle, лекция Oracle, обучение Oracle
SQL Prompt Tips - Begin End Highlighting
 
01:09
See how SQL Prompt v6.4 and later highlight your code.
Views: 617 Steve Jones
PL/SQL: Ref Cursors
 
09:28
In this tutorial, you'll learn what is ref cursors. 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.
Views: 27875 radhikaravikumar
how to take  hot backup of database manually
 
07:37
can we take hot backup when the database is in noarchive log mode? =================================================================== no archive log list; alter database begin backup; can we shutdown a database when it is in backup mode? ===================================================== alter database begin backup; shutdown immediate; ==no shutdown normal;==no shutdown transcational;==no shutdown abort;==yes database is in hot backup mode,db crashes now how to recover and open the database? =================================================================================== alter databse begin backup; shutdown abort; ORA-10873: file 1 needs to be either taken out of backup mode or media recovered ORA-01110: data file 1: 'E:\DATABASE\DATABASE\ORADATA\ORCL\SYSTEM01.DBF' solution: startup mount; alter database end backup; alter database open; how to check whether the database is in backup mode or not? =========================================================== select * from v$backup; how to take hot backup of database manually? ============================================ alter database begin backup; copy datafiles manually from original location to backup location alter database end backup; alter system switch logfile; alter system switch logfile; alter system switch logfile; copy archives from archive location to backup location. alter database backup controlfile to trace; (or) alter database backup controlfile to location; copy controlfile to backup location. How to check current_scn number of database? ============================================= select CURRENT_SCN from v$database; select dbms_flashback.get_system_change_number from dual; select timestamp_to_scn(sysdate) from dual; how to check datafile header scn number? ========================================= select name,CHECKPOINT_CHANGE# from v$datafile_header; when checkpoint will occur? ============================ alter system switch logfile; alter database begin backup; alter database end backup; alter system checkpoint;(manual checkpoint) shutdown immediate;(when the database is down) what will happen when checkpoint occurs? ========================================= scn of datafile header will update;
Views: 2070 Praveen Biyyapu
Secure password change in Oracle Forms
 
14:27
Form more Information or any help email :[email protected] code-------- declare v_count number; v_pass VARCHAR2(20); V_id number; begin select count(*) into v_count from USER_INFO where USER_ID=:control.USER_ID AND upper(USER_NAME)=UPPER(:control.USER_NAME); IF V_COUNT=1 THEN SELECT Password INTO V_PASS FROM USER_INFO where USER_ID=:control.USER_ID AND upper(USER_NAME)=UPPER(:control.USER_NAME); IF v_pass=:current_password THEN IF v_pass=:new_password THEN message('Both current and new password are same!!'); message('Both current and new password are same!!'); ELSE IF :new_password=:confirm_password THEN message('Congratulation!! You sucessfully changed your Password!!'); UPDATE USER_INFO SET Password=:confirm_password where USER_ID=:control.USER_ID AND upper(USER_NAME)=UPPER(:control.USER_NAME); COMMIT; ELSE message('Confirmed password is not correct!!'); message('Confirmed password is not correct!!'); END IF; END IF; ELSE message('Invalid Password!!'); message('Invalid Password!!'); END IF; ELSE message('Invalid user name!!'); message('Invalid user name!!'); END IF; END;
Views: 51 Forkan Raju
PART-2 (Oracle Functions) Oracle PL SQL Training - Fast Track Series
 
26:20
Topic 2: Functions in PL SQL. In oracle there are two types of functions available. 1. Oracle Supplied Function (Built in Functions) Scaler Functions a) String Functions Length, instr, substr, rtrim, ltrim, lower, upper, concat, replace sqlplus sanket/patel SQL*Plus: Release 11.2.0.2.0 Production on Tue Feb 14 11:38:56 2017 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production SQL# SQL# select length('sanket') from dual; LENGTH('SANKET') ---------------- 6 SQL# select instr('sanket','n') from dual; INSTR('SANKET','N') ------------------- 3 SQL# select substr('sanket',1,3) from dual; SUB --- san SQL# select ltrim(' sanket ') from dual; LTRIM('S -------- sanket SQL# select rtrim(' sanket ') from dual; RTRIM('S -------- sanket SQL# select trim(' sanket ') from dual; TRIM(' ------ sanket SQL# select lower('SanKet') from dual; LOWER( ------ sanket SQL# select upper('SanKet') from dual; UPPER( ------ SANKET SQL# select concat('sanket','patel') from dual; CONCAT('SAN ----------- sanketpatel SQL# SQL# select replace('patel','e','i') from dual; REPLA ----- patil SQL# b) Date Functions Sysdate, add_months, extract, last_day, next_day, months_between c) Numeric Functions Trunc, ceil, round d) Oracle Type Cast or Conversion Functions To_char, to_date, to_number e) Null functions Nvl, Nvl2 Aggregate Functions Count,min,max,sum 2. User Defined Functions (PL SQL) CREATE [OR REPLACE] FUNCTION function_name [ (parameter [,parameter]) ] RETURN return_datatype IS | AS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [function_name]; Characteristics of Functions • Function must returns some value • Function can be called from select statement • Function support all three types of parameters available in oracle like IN, OUT and IN OUT parameters. Types of Parameters: IN Parameter: We can’t overwrite value of such kind of parameters. It is used to pass reference values to program and utilized it within the programs or sub-programs or other standalone programs. OUT Parameter: We can overwrite value of such kind of parameters. It is not useful to pass reference values to program and utilized it within the programs or sub-programs or other standalone programs but output value must need to be hold by calling program. IN OUT Parameter: We can overwrite value as well as pass reference value to program or sub-programs or other standalone programs but output value must need to be hold by calling program. EXAMPLES: --FUNCTION WITH OUT PARAMETER CREATE OR REPLACE FUNCTION GET_DATE_HH24TIME RETURN VARCHAR2 IS HH24DATE_TIME VARCHAR2(20); BEGIN HH24DATE_TIME := TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI:SS'); RETURN HH24DATE_TIME; END; / --FUNCTION WITH PARAMETER CREATE OR REPLACE FUNCTION GET_P_DATE_HH24TIME (P_HH24DATE_TIME IN DATE) RETURN VARCHAR2 IS HH24DATE_TIME VARCHAR2(20); BEGIN HH24DATE_TIME := TO_CHAR(P_HH24DATE_TIME,'DD/MM/YYYY HH24:MI:SS'); RETURN HH24DATE_TIME; END; / SELECT GET_P_DATE_HH24TIME(SYSDATE) FROM DUAL; Drop Functions: We can drop function from the database. DROP FUNCTION GET_P_DATE_HH24TIME; SQL# SELECT OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION'; OBJECT_NAME --------------------------------------------------------------------------GET_DATE_HH24TIME GET_P_DATE_HH24TIME DROP FUNCTION GET_DATE_HH24TIME;
Views: 4725 Sanket Patel
Display DBMS_OUTPUT.PUT_LINE on SQLDeveloper
 
00:26
How to display DBMS_OUTPUT.PUT_LINE on SQLDeveloper ---------Code ------- SET SERVEROUTPUT ON; begin DBMS_OUTPUT.PUT_LINE('Hello'); end;
Views: 19054 Tata young Tan Tanya
SQL Server deadlock error handling
 
05:00
In this video we will discuss how to catch deadlock error using try/catch in SQL Server. Text version of the video http://csharp-video-tutorials.blogspot.com/2015/08/sql-server-deadlock-error-handling.html Slides http://csharp-video-tutorials.blogspot.com/2015/08/sql-server-deadlock-error-handling_30.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists Modify the stored procedure as shown below to catch the deadlock error. The code is commented and is self-explanatory. Alter procedure spTransaction1 as Begin Begin Tran Begin Try Update TableA Set Name = 'Mark Transaction 1' where Id = 1 Waitfor delay '00:00:05' Update TableB Set Name = 'Mary Transaction 1' where Id = 1 -- If both the update statements succeeded. -- No Deadlock occurred. So commit the transaction. Commit Transaction Select 'Transaction Successful' End Try Begin Catch -- Check if the error is deadlock error If(ERROR_NUMBER() = 1205) Begin Select 'Deadlock. Transaction failed. Please retry' End -- Rollback the transaction Rollback End Catch End Alter procedure spTransaction2 as Begin Begin Tran Begin Try Update TableB Set Name = 'Mary Transaction 2' where Id = 1 Waitfor delay '00:00:05' Update TableA Set Name = 'Mark Transaction 2' where Id = 1 Commit Transaction Select 'Transaction Successful' End Try Begin Catch If(ERROR_NUMBER() = 1205) Begin Select 'Deadlock. Transaction failed. Please retry' End Rollback End Catch End After modifying the stored procedures, execute both the procedures from 2 different windows simultaneously. Notice that the deadlock error is handled by the catch block. In our next video, we will discuss how applications using ADO.NET can handle deadlock errors. Link for all dot net and sql server video tutorial playlists https://www.youtube.com/user/kudvenkat/playlists?sort=dd&view=1 Link for slides, code samples and text version of the video http://csharp-video-tutorials.blogspot.com/2015/08/sql-server-deadlock-error-handling.html
Views: 32605 kudvenkat
SEARCH WITH ORACLE FORM
 
06:57
شرح كيفية عمل زر للبحث الكود DECLARE V_block_val VARCHAR2(100); BEGIN V_block_val := :BLOCK10.FILTER_; IF GET_ITEM_PROPERTY('PUSH_BUTTON14',PROMPT_TEXT)='SEARCH'THEN MESSAGE(GET_ITEM_PROPERTY('PUSH_BUTTON14',PROMPT_TEXT)); GO_BLOCK ('EMPLOYEES'); SET_BLOCK_PROPERTY('EMPLOYEES',DEFAULT_WHERE,'SALARY ='||TO_NUMBER(:BLOCK10.FILTER_)); SET_ITEM_PROPERTY('PUSH_BUTTON14',LABEL,'MAHMOUD'); EXECUTE_QUERY; ELSE SET_BLOCK_PROPERTY('EMPLOYEES',DEFAULT_WHERE,''); SET_ITEM_PROPERTY('PUSH_BUTTON14',LABEL,'SEARCH'); END IF; END;
Views: 8935 Mahmoud Alsaqqa
create report from package - pipeline pl/sql Oracle
 
02:15
12-march-2017 Oracle Apex create report from package - pipeline pl/sql steps 1. Create package on dept from HR 2. Package Specification create or replace PACKAGE r_deptinfo AS TYPE t_row IS RECORD ( DEPTNO NUMBER(2,0), DNAME varchar2(60), LOC varchar2(60) ); TYPE t_tab IS TABLE OF t_row; FUNCTION get_tab(p_DEPTNO number) RETURN t_tab PIPELINED; END; / 3. Package body create or replace PACKAGE BODY r_deptinfo AS FUNCTION get_tab(p_DEPTNO number) RETURN t_tab PIPELINED IS l_row t_row; cursor c1 is select DEPTNO, DNAME, LOC from dept where (DEPTNO = p_DEPTNO or 1=1); BEGIN FOR r1 IN c1 LOOP l_row.DEPTNO := r1.DEPTNO; l_row.DNAME := r1.DNAME; l_row.LOC := r1.LOC; PIPE ROW (l_row); END LOOP; RETURN; END; END; / 4. Call package select DEPTNO, DNAME, LOC from table(r_deptinfo.get_tab(10)); col DNAME for a30 col LOC for a30 drop package r_deptinfo / 5. now we can use it anywhere as a sql statement thats it Thanks . . .
Views: 684 Mostafiz Mitul
106/125 Oracle PLSQL: PLSQL Compiler / dbms_warning
 
11:07
select name,value from v$parameter where name='plsql_warnings' --1-- --Modify the current session's warning settings /* dbms_warning.add_warning_setting_cat( warning_category IN VARCHAR2, warning_value IN VARCHAR2, scope IN VARCHAR2) */ --now we can modify the setting begin dbms_warning.add_warning_setting_cat('SEVERE', 'ENABLE', 'SESSION'); end; --we can check the new value by select name,value from v$parameter where name='plsql_warnings' --or SELECT dbms_warning.get_warning_setting_string FROM dual; -------------------- --2 /* dbms_warning.add_warning_setting_num( warning_number IN PLS_INTEGER, warning_value IN VARCHAR2, scope IN VARCHAR2); */ EXEC dbms_warning.add_warning_setting_num(6002, 'DISABLE', 'SESSION'); SELECT dbms_warning.get_warning_setting_num(6002) FROM dual; EXEC dbms_warning.add_warning_setting_num(6002, 'ENABLE', 'SESSION'); SELECT dbms_warning.get_warning_setting_num(6002) FROM dual; ----------------------------- --3 /* dbms_warning.set_warning_setting_string( value IN VARCHAR2, scope IN VARCHAR2); */ exec dbms_warning.set_warning_setting_string('ENABLE:ALL', 'SESSION'); SELECT dbms_warning.get_warning_setting_string FROM dual; -------------------- --4 /* dbms_warning.get_category(warning_number IN PLS_INTEGER) RETURN VARCHAR2 */ -- severe SELECT dbms_warning.get_category(5000) FROM dual; -- informational SELECT dbms_warning.get_category(6002) FROM dual; -- performance SELECT dbms_warning.get_category(7203) FROM dual; ------------------------------------------ --5 /* dbms_warning.get_warning_setting_cat(warning_category IN VARCHAR2) RETURN VARCHAR2 */ SELECT dbms_warning.get_warning_setting_cat('SEVERE') FROM dual; SELECT dbms_warning.get_warning_setting_cat('INFORMATIONAL') FROM dual; SELECT dbms_warning.get_warning_setting_cat('PERFORMANCE') FROM dual; ------------ --6 --dbms_warning.get_warning_setting_num(warning_number IN PLS_INTEGER) --RETURN VARCHAR2 SELECT dbms_warning.get_warning_setting_num(5000) FROM dual; SELECT dbms_warning.get_warning_setting_num(6002) FROM dual; SELECT dbms_warning.get_warning_setting_num(7203) FROM dual;
Views: 378 khaled alkhudari
PL/SQL tutorial 73: Bulk Collect with SELECT-INTO statement in Oracle Database
 
07:26
RebellionRider.com presents a PL/SQL tutorial on how to use the BULK COLLECT clause with SELECT INTO statement in Oracle Database by Manish Sharma. In this tutorial, you will also learn how to overcome the overhead caused by context switch and improve the query performance. ------------------------------------------------------------------------ ►►►LINKS◄◄◄ Blog: http://bit.ly/bulk-collect-2 Previous Tutorial ►Introduction to Bulk Collect: https://youtu.be/CrJSlf_m3yA ►PL/SQL Tutorial 51-Nested Table: https://youtu.be/EUYyiFCzU0I ►Collection Method Count:https://youtu.be/NNq80CcC5K8 ------------------------------------------------------------------------- ►Make sure you SUBSCRIBE and be the 1st one to see my videos! ------------------------------------------------------------------------- ►►►Find me on Social Media◄◄◄ Follow What I am up to as it happens on https://twitter.com/rebellionrider http://instagram.com/rebellionrider https://plus.google.com/+Rebellionrider http://in.linkedin.com/in/mannbhardwaj/ ___Facebook Official Page of Manish Sharma___ https://www.facebook.com/TheRebellionRider/ ___Facebook Official Page of RebellionRider.com___ https://www.facebook.com/RebellionRider.official/ You can also Email me at for E-mail address please check the About section Please please LIKE and SHARE my videos it makes me happy. Thanks for liking, commenting, sharing and watching more of our videos This is Manish from RebellionRider.com ♥ I LOVE ALL MY VIEWERS AND SUBSCRIBERS
Views: 11938 Manish Sharma
PL/SQL: Stored Procedures Part-1
 
06:19
In this tutorial, you'll learn what are stored procedures 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.
Views: 16510 radhikaravikumar
How to implement VPD in Oracle Database (Part 2)
 
07:28
How to implement VPD (Virtual Private Database) in Oracle Database(9i,10g,11g,12c) Enterprise Edition. PART 2 Video. links: Part 1 https://youtu.be/JVvtvh3cN1I Part 2 https://youtu.be/xLcin_Wgbvs Part 3 https://youtu.be/mE1cSbmEwnQ Now we will conn to sec_adm user : ------------------ CONNECT sec_adm/sec_adm; This table will contain the user access info. CREATE TABLE users (id VARCHAR2(30) NOT NULL, ouser VARCHAR2(30) NOT NULL, first_name VARCHAR2(50) NOT NULL, last_name VARCHAR2(50) NOT NULL); INSERT INTO users VALUES ('HR','USER1','User','One'); INSERT INTO users VALUES ('FINANCE','USER2','User','Two'); COMMIT; conn schemaowner/schemaowner GRANT SELECT, INSERT ON user_data TO user1, user2; Now we will create the context package: ---------------------------------------- CONNECT sec_adm/sec_adm; CREATE CONTEXT SCHEMAOWNER USING context_package; CREATE OR REPLACE PACKAGE context_package AS PROCEDURE set_context; END; / Next we create the context_package body which will actually set the user context. CREATE OR REPLACE PACKAGE BODY context_package IS PROCEDURE set_context IS v_ouser VARCHAR2(30); v_id VARCHAR2(30); BEGIN DBMS_SESSION.set_context('SCHEMAOWNER','SETUP','TRUE'); v_ouser := SYS_CONTEXT('USERENV','SESSION_USER'); BEGIN SELECT id INTO v_id FROM users WHERE ouser = v_ouser; DBMS_SESSION.set_context('SCHEMAOWNER','USER_ID', v_id); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_SESSION.set_context('SCHEMAOWNER','USER_ID', 0); END; DBMS_SESSION.set_context('SCHEMAOWNER','SETUP','FALSE'); END set_context; END context_package; / SHOW ERRORS Next we make sure that all users have access to the Context_Package. GRANT EXECUTE ON context_package TO schemaowner,user1,user2; Create Login Trigger Next we must create a trigger to fire after the user logs onto the database. CONNECT sec_adm/sec_adm; CREATE OR REPLACE TRIGGER set_security_context AFTER LOGON ON DATABASE BEGIN context_package.set_context; END; / SHOW ERRORS
Views: 307 OracleDBA
bulk collect and record type in oracle example
 
03:00
DECLARE CURSOR c_cust_cur IS SELECT ENAME, EMPNO, SAL, DEPTNO FROM EMP; ---smple cursor TYPE v_cust_cur IS RECORD( ENAME VARCHAR2(60), EMPNO VARCHAR2(60), SAL VARCHAR2(60), DEPTNO VARCHAR2(60)); ---record type TYPE cust_cur_tbl IS TABLE OF v_cust_cur INDEX BY BINARY_INTEGER; v_cust_cur_tbl cust_cur_tbl; v_data_clob CLOB := EMPTY_CLOB(); v_from VARCHAR2(100); v_to VARCHAR2(32700); BEGIN OPEN c_cust_cur; FETCH c_cust_cur BULK COLLECT --Bulk collect INTO v_cust_cur_tbl; CLOSE c_cust_cur; BEGIN /* FOR i IN 1 .. v_cust_cur_tbl.COUNT LOOP or we ca write also output will be same */ FOR i IN v_cust_cur_tbl.first .. v_cust_cur_tbl.last LOOP v_data_clob := v_cust_cur_tbl(i).ENAME || '",' || '"' || v_cust_cur_tbl(i) .EMPNO || '",' || '"' || v_cust_cur_tbl(i).SAL || '",' || '"' || v_cust_cur_tbl(i) .DEPTNO; dbms_output.put_line(v_data_clob); END LOOP; END; END;
Views: 16 Young India
Oracle tutorial : Autonomous Transactions in Oracle 11g PL SQL-PRAGMA
 
10:40
Oracle tutorial : Autonomous Transactions in Oracle 11g PL SQL-PRAGMA What is pragma autonomous_transaction An autonomous transaction is an independent transaction to the main or parent transaction. If an Autonomous transaction is started by another transaction it is not nested, but independent of parent transaction. PRAGMA autonomous_transaction 1)In Oracle session, all of the changes made to data are part of a single transaction. 2)An autonomous transaction is an independent transaction started within another transaction (the main transaction). 3)Autonomous transactions allow you to temporarily suspend the main transaction, perform additional SQL operations, commit or rollback those operations separately, then resume the main transaction. 4)To define an autonomous transaction, we can use a PRAGMA statement PRAGMA AUTONOMOUS_TRANSACTION; CREATE TABLE log_data ( empno NUMBER(6), userid VARCHAR2(30), create_date DATE ); CREATE OR REPLACE TRIGGER add_log BEFORE INSERT OR UPDATE ON employee FOR EACH ROW DECLARE PRAGMA AUTONOMOUS_TRANSACTION; — This statement made this autonomous this trigger BEGIN INSERT INTO log_data VALUES (:new.id, USER, SYSDATE); COMMIT; END; / Insert into EMPLOYEE (ID, NAME, CITY, SALARY, DEPT_NO) Values (20, ‘MY Tech Query’, ‘Mumbai’, 20000, 1) ROLLBACK; SELECT * FROM EMPLOYEE SELECT * FROM LOG_DATA https://www.youtube.com/channel/UCpiyAesWNYOXSz5GPq8lbkA For more tutorial please visit #techquerypond https://techquerypond.com https://techquerypond.wordpress.com https://twitter.com/techquerypond oracle transaction pragma autonomous_transaction
Views: 2613 Tech Query Pond
Debugging sql server stored procedures
 
15:11
debugging in ssms debugging t-sql code t sql debug stored procedure sql server management studio debug stored procedure how to debug t sql debug in sql server management studio In this video we will discuss how to debug stored procedures in SQL Server. Setting up the Debugger in SSMS : If you have connected to SQL Server using (local) or . (period), and when you start the debugger you will get the following error Unable to start T-SQL Debugging. Could not connect to computer. To fix this error, use the computer name to connect to the SQL Server instead of using (local) or . For the examples in this video we will be using the following stored procedure. Create procedure spPrintEvenNumbers @Target int as Begin Declare @StartNumber int Set @StartNumber = 1 while(@StartNumber [ @Target) Begin If(@StartNumber%2 = 0) Begin Print @StartNumber End Set @StartNumber = @StartNumber + 1 End Print 'Finished printing even numbers till ' + RTRIM(@Target) End Connect to SQL Server using your computer name, and then execute the above code to create the stored procedure. At this point, open a New Query window. Copy and paste the following T-SQL code to execute the stored procedure. DECLARE @TargetNumber INT SET @TargetNumber = 10 EXECUTE spPrintEvenNumbers @TargetNumber Print 'Done' Starting the Debugger in SSMS : There are 2 ways to start the debugger 1. In SSMS, click on the Debug Menu and select Start Debugging 2. Use the keyboard shortcut ALT + F5 At this point you should have the debugger running. The line that is about to be executed is marked with an yellow arrow Step Over, Step into and Step Out in SSMS : You can find the keyboard shortcuts in the Debug menu in SSMS. Let us understand what Step Over, Step into and Step Out does when debugging the following piece of code 1. There is no difference when you STEP INTO (F11) or STEP OVER (F10) the code on LINE 2 2. On LINE 3, we are calling a Stored Procedure. On this statement if we press F10 (STEP OVER), it won't give us the opportunity to debug the stored procedure code. To be able to debug the stored procedure code you will have to STEP INTO it by pressing F11. 3. If the debugger is in the stored procedure, and you don't want to debug line by line with in that stored procedure, you can STEP OUT of it by pressing SHIFT + F11. When you do this, the debugger completes the execution of the stored procedure and waits on the next line in the main query, i.e on LINE 4 in this example. To stop debugging : There are 2 ways to stop debugging 1. In SSMS, click on the Debug Menu and select Stop Debugging 2. Use the keyboard shortcut SHIFT + F5 Show Next Statement shows the next statement that the debugger is about to execute. Run to Cursor command executes all the statements in a batch up to the current cursor position Locals Window in SSMS : Displays the current values of variables and parameters If you cannot see the locals window or if you have closed it and if you want to open it, you can do so using the following menu option. Locals window is only available if you are in DEBUG mode. Watch Window in SSMS : Just like Locals window, Watch window is used to watch the values of variables. You can add and remove variables from the watch window. To add a variable to the Watch Window, right click on the variable and select "Add Watch" option from the context menu. Call Stack Window in SSMS : Allows you to navigate up and down the call stack to see what values your application is storing at different levels. It's an invaluable tool for determining why your code is doing what it's doing. Immediate Window in SSMS : Very helpful during debugging to evaluate expressions, and print variable values. To clear immediate window type ]cls and press enter. Breakpoints in SSMS : There are 2 ways to set a breakpoint in SSMS. 1. By clicking on the grey margin on the left hand side in SSMS (to remove click again) 2. By pressing F9 (to remove press F9 again) Enable, Disable or Delete all breakpoints : There are 2 ways to Enable, Disable or Delete all breakpoints 1. From the Debug menu 2. From the Breakpoints window. To view Breakpoints window select Debug =] Windows =] Breakpoints or use the keyboard shortcut ALT + CTRL + B Conditional Breakpoint : Conditional Breakpoints are hit only when the specified condition is met. These are extremely useful when you have some kind of a loop and you want to break, only when the loop variable has a specific value (For example loop varible = 100). How to set a conditional break point in SSMS : 1. Right click on the Breakpoint and select Condition from the context menu 2. In the Breakpoint window specify the condition Text version of the video http://csharp-video-tutorials.blogspot.com/2015/09/debugging-sql-server-stored-procedures.html Slides http://csharp-video-tutorials.blogspot.com/2015/09/debugging-sql-server-stored-procedures_28.html
Views: 111364 kudvenkat
Oracle Database 12c Security - Oracle Virtual Private Database (VPD)
 
12:29
Learn how to use Oracle Virtual Private Database (VPD) to secure your data. See all lessons at http://skillbuilders.com/12c-TSDP-Tutorial First, Virtual Private Database. What is it? Answer: It's a declarative technique for enforcing security. Typically, it's based on user application context. That was the first limitation of 8i. Backed with 8i context were session-specific. The context variables were sort in the PGA. That means you simply couldn't use this in a web environment. However, global context, with use of 9i, Virtual Private Database became usable for web applications with connection pooling. But whether you're using it to client server or on a three tier environment, it's declarative technique rather than a programmatic technique. I can go behind the back of the application as a DBA and generate predicates to get appended to all SQLs. Select, insert, update, delete the end users. Issue the SQL and I will generate a predicate that filters the access. It's impossible to bypass. All users will have predicates appended to all their code. It doesn't matter whether they're using SQL Plus, Discoverer, Business Objects, Crystal Reports, eBusiness Suites, whatever they're using, I as DBA can filter their access to roles. The end result, different users see different data sets while running the same code and accessing the same tables, hence, the name Virtual Private Database. Different users will think they're seeing a totally different set of tables, but in fact it's one column database, one set of tables hosting a single application shared by all the users. The mechanism - you can apply VPD to tables, to views, to synonyms, and a declarative technique. Once the technique you write a function that generates the predicate, you associate the function with the table. From then on whenever the user issue SQL against that table the Cost-Based Optimizer rewrites the code. The Cost-Based Optimizer rewrites the user SQL to call the function to generate the predicate. The predicate is then appended to the SQL and it's the modified SQL that is parsed and executed. Let's see how this actually works. I'm working here by the way. This is just a perfectly normal 12.1 database. But what I'm going to demonstrate at this point will in fact work on 11g as well. I'm not going to be using any of the 12c enhancements to VPD for this little demonstration. I'll work in the scott schema. What do we have to do? We write a function to generate the predicate string. Create function. And I'll my function vpdf. The function must conform to a fixed specification. It must take two varchar arguments. One of the arguments is intended to be the schema to which the function will be applied. The other argument is the object within the schema to which the function will be applied. And it must return a varchar2, which is the generated predicate. Let's begin. Within this function you can do just about anything. There are some limitations. It's impossible for the function to query or update the table against which the VPD calls here is going to be applied or we violate the rules of purity that we come across so often with PL/SQL. But apart from that, it can do just about anything - including a number of dreadful side effects can be introduced by writing VPD functions. I'm going to do a very simple one on this one. I'll shall simple return immediately a predicate. What predicate? Ename, which is the ename column from this scott.emp table. Ename should equal sys_context. I'll go to the local context, my user end context, and just extract session user. We can see that John has tested this earlier today and therefore the object already was suggesting and he's just dropping it now and cleaning up the recreate. I hope you realize these really are live demonstrations. I'm not just running scripts. I've created a function. What's that function going to do? It's going to return this value here. Test it. Always test it and see what it's actually going to do. I'll select vpdf. I have to give it a couple of arguments. This one will do for now.
Views: 4566 SkillBuilders
PL-SQL 5   Cursors
 
07:17
https://drive.google.com/file/d/0BxYoN5rLDBaRWGRBLWg3RnhXM0E/edit?usp=sharing Course Objectives cursors ---------------------------- Example SET SERVEROUTPUT ON DECLARE vr_zip ZIPCODE%ROWTYPE; BEGIN SELECT * INTO vr_zip FROM zipcode WHERE rownum menor 2; DBMS_OUTPUT.PUT_LINE('City: '||vr_zip.city); DBMS_OUTPUT.PUT_LINE('State: '||vr_zip.state); DBMS_OUTPUT.PUT_LINE('Zip: '||vr_zip.zip); END; ---------------------------- Example SET SERVEROUTPUT ON DECLARE CURSOR c_zip IS SELECT * FROM zipcode; vr_zip c_zip%ROWTYPE; BEGIN OPEN c_zip; LOOP FETCH c_zip INTO vr_zip; EXIT WHEN c_zip%NOTFOUND; DBMS_OUTPUT.PUT_LINE(vr_zip.zip|| ' '||vr_zip.city||' '||vr_zip.state); END LOOP; CLOSE c_zip; END; ---------------------------- Example DECLARE CURSOR c_group_discount IS SELECT DISTINCT s.course_no FROM section s, enrollment e WHERE s.section_id = e.section_id GROUP BY s.course_no, e.section_id, s.section_id HAVING COUNT(*)mayor=8; BEGIN FOR r_group_discount IN c_group_discount LOOP UPDATE course SET cost = cost * .95 WHERE course_no = r_group_discount.course_no; END LOOP; COMMIT; END; ---------------------------- Example DECLARE CURSOR c_grade( i_student_id IN enrollment.student_id%TYPE, i_section_id IN enrollment.section_id%TYPE) IS SELECT final_grade FROM enrollment WHERE student_id = i_student_id AND section_id = i_section_id; CURSOR c_enrollment IS SELECT e.student_id, e.section_id FROM enrollment e, section s WHERE s.course_no = 135 AND e.section_id = s.section_id; BEGIN FOR r_enroll IN c_enrollment LOOP FOR r_grade IN c_grade(r_enroll.student_id, r_enroll.section_id) LOOP UPDATE enrollment SET final_grade = 90 WHERE student_id = r_enroll.student_id AND section_id = r_enroll.section_id; END LOOP; END LOOP; END;
Views: 561 Fdo Luis
PL/SQL: Cursors using FOR loop
 
05:10
In this tutorial, you'll learn h.ow to write a cursor using for loop and the advantage of it. 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.
Views: 18066 radhikaravikumar
Stored procedures in sql server   Part 18
 
20:11
In this video we will learn 1. What is a stored procedure 2. Stored Procedure example 3. Creating a stored procedure with parameters 4. Altering SP 5. Viewing the text of the SP 6. Dropping the SP 7. Encrypting stored procedure Text version of the video http://csharp-video-tutorials.blogspot.com/2012/08/stored-procedures-part-18.html Slides http://csharp-video-tutorials.blogspot.com/2013/08/part-18-stored-procedures.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 757316 kudvenkat
T-SQL #1(declare, set, print, if, else, begin, end)
 
14:09
Witam Serdecznie w poradniku do T-SQL, operujemy na darmowym oprogramowaniu Sql Server 2014 Management Studio. linki: facebook ---- https://www.facebook.com/Albrecht-Xerxes-147708235703520/ github --------- https://github.com/AlbrechtXerxes
Views: 752 Albrecht Xerxes
SQL:Column name starting with digit
 
04:57
In this tutorial, you'll learn how to use column name starting with digit or underscore. 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.
Views: 1834 radhikaravikumar
SQL: Extract function
 
03:38
In this tutorial, you'll learn how to make use of extract function. 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.
Views: 4268 radhikaravikumar
Oracle SQL Tutorial : pl sql create job in Oracle Scheduler
 
08:09
Oracle SQL Tutorial Job In Oracle : How to Create and Run Job in Oracle Scheduler This video will show you how to Scheduling Jobs with Oracle Scheduler. pl sql create job dbms job scheduler example DBMS_SCHEDULER ---------------------- A job object (job) is a collection of metadata that describes a user-defined task that is scheduled to run one or more times. It is a combination of what needs to be executed (the action) and when (the schedule). CREATE OR REPLACE PROCEDURE myproc AS BEGIN INSERT INTO MYTEST(CREATED_ON) VALUES (sysdate); commit; END myproc; / BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name = ‘My_job’, job_type = ‘STORED_PROCEDURE’, job_action = ‘MYPROC’, start_date = ’07-AUG-16 07.00.00 PM’, repeat_interval = ‘FREQ=SECONDLY;INTERVAL=5', end_date =’20-NOV-18 07.00.00 PM’, auto_drop = FALSE, comments = ‘My new job’); END; / EXEC DBMS_SCHEDULER.ENABLE(‘My_job’); Subscribe on youtube: https://www.youtube.com/channel/UCpiyAesWNYOXSz5GPq8lbkA For more tutorial please visit #techquerypond https://techquerypond.com https://techquerypond.wordpress.com https://twitter.com/techquerypond oracle job scheduler
Views: 18816 Tech Query Pond
PL/SQL tutorial 6: Bind Variable in PL/SQL By Manish Sharma RebellionRider.com
 
07:56
Watch and learn what are bind variables in PL/SQL how to declare or create them using Variable command, Initialize them using Execute (exec)command and different ways of displaying current values of a bind variable for example using AutoPrint parameter. ------------------------------------------------------------------------ ►►►LINKS◄◄◄ Blog : http://bit.ly/bind-variable Previous Tutorial ► Constants in PL/SQL https://youtu.be/r1ypg7WH4GY ►User Variables :https://youtu.be/2MNmodawvnE ------------------------------------------------------------------------- ►►►Let's Get Free Uber Cab◄◄◄ Use Referral Code UberRebellionRider and get $20 free for your first ride. ------------------------------------------------------------------------- ►►►Help Me In Getting A Job◄◄◄ ►Help Me In Getting A Good Job By Connecting With Me on My LinkedIn and Endorsing My Skills. All My Contact Info is Down Below. You Can Also Refer Me To Your Company Thanks ------------------------------------------------------------------------- ►Make sure you SUBSCRIBE and be the 1st one to see my videos! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ►►►Find me on Social Media◄◄◄ Follow What I am up to as it happens on https://twitter.com/rebellionrider https://www.facebook.com/imthebhardwaj http://instagram.com/rebellionrider https://plus.google.com/+Rebellionrider http://in.linkedin.com/in/mannbhardwaj/ http://rebellionrider.tumblr.com/ http://www.pinterest.com/rebellionrider/ You can also Email me at for E-mail address please check About section Please please LIKE and SHARE my videos it makes me happy. Thanks for liking, commenting, sharing and watching more of our videos This is Manish from RebellionRider.com ♥ I LOVE ALL MY VIEWERS AND SUBSCRIBERS
Views: 96099 Manish Sharma
Function In Oracle PL SQL
 
07:49
Function In Oracle 1)A stored / user defined function is a set of PLSQL statements you can call by name. 2)Stored functions are very similar to procedures. 3)function always return a value. 4)User functions can be used as part of a SQL expression. Parameters to Function : a)IN Parameters b)OUT Parameters c)IN OUT Parameters Create Function : CREATE OR REPLACE FUNCTION FIND_AGE ( EMP_ID IN VARCHAR2 ) RETURN NUMBER IS EMP_AGE NUMBER; SQLSTRING VARCHAR2(4000); BEGIN SQLSTRING:=’SELECT AGE FROM EMPLOYEE WHERE EMP_ID=’||EMP_ID; EXECUTE IMMEDIATE SQLSTRING INTO EMP_AGE; RETURN EMP_AGE; EXCEPTION WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20001,’Error in Find Age function – ‘||SQLCODE||’ -ERROR- ‘||SQLERRM); END; Call Function : SELECT FIND_AGE('1') FROM DUAL DROP FUNCTION : Syntax : DROP FUNCTION function_name; DROP FUNCTION FIND_AGE; #techquerypond https://techquerypond.com https://techquerypond.wordpress.com https://twitter.com/techquerypond
Views: 187 Tech Query Pond
Before, After Insert or Update or Delete plsql trigger example.
 
23:16
A pl sql tutorial to understand Before, After Insert or Update or Delete trigger on table. This pl sql tutorial will give you a good concept of how to write pl sql triggers. Here is one example of the trigger create or replace trigger trigger_name before insert or update or delete on table_name for each row begin if inserting then dbms_output.put_line('Before inserting on table'); elsif updating then dbms_output.put_line('Before updating on table'); elsif deleting then dbms_output.put_line('Before deleting on table'); end if; end;
Views: 28813 Subhroneel Ganguly
Dynamic SQL in SQL Server
 
12:12
Text version of the video http://csharp-video-tutorials.blogspot.com/2017/03/dynamic-sql-in-sql-server.html Slides http://csharp-video-tutorials.blogspot.com/2017/03/dynamic-sql-in-sql-server_27.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All SQL Server Tutorial Videos https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists In this video we will discuss 1. What is Dynamic SQL 2. Simple example of using Dynamic SQL What is Dynamic SQL Dynamic SQL is a SQL built from strings at runtime. Simple example of using Dynamic SQL Here is the SQL Script to create Employees table and populate it with data Create table Employees ( ID int primary key identity, FirstName nvarchar(50), LastName nvarchar(50), Gender nvarchar(50), Salary int ) Go Insert into Employees values ('Mark', 'Hastings', 'Male', 60000) Insert into Employees values ('Steve', 'Pound', 'Male', 45000) Insert into Employees values ('Ben', 'Hoskins', 'Male', 70000) Insert into Employees values ('Philip', 'Hastings', 'Male', 45000) Insert into Employees values ('Mary', 'Lambeth', 'Female', 30000) Insert into Employees values ('Valarie', 'Vikings', 'Female', 35000) Insert into Employees values ('John', 'Stanmore', 'Male', 80000) Go One way to achieve this is by implementing a stored procedure as shown below that this page would call. Create Procedure spSearchEmployees @FirstName nvarchar(100), @LastName nvarchar(100), @Gender nvarchar(50), @Salary int As Begin Select * from Employees where (FirstName = @FirstName OR @FirstName IS NULL) AND (LastName = @LastName OR @LastName IS NULL) AND (Gender = @Gender OR @Gender IS NULL) AND (Salary = @Salary OR @Salary IS NULL) End Go The stored procedure in this case is not very complicated as we have only 4 search filters. What if there are 20 or more such filters. This stored procedure can get complex. To make things worse what if we want to specify conditions like AND, OR etc between these search filters. The stored procedure can get extremely large, complicated and difficult to maintain. One way to reduce the complexity is by using dynamic SQL as show below. Depending on for which search filters the user has provided the values on the "Search Page", we build the WHERE clause dynamically at runtime, which can reduce complexity. However, you might hear arguments that dynamic sql is bad both in-terms of security and performance. This is true if the dynamic sql is not properly implemented. From a security standpoint, it may open doors for SQL injection attack and from a performance standpoint, the cached query plans may not be reused. If properly implemented, we will not have these problems with dynamic sql. In our upcoming videos, we will discuss good and bad dynamic sql implementations. For now let's implement a simple example that makes use of dynamic sql. In the example below we are assuming the user has supplied values only for FirstName and LastName search fields. To execute the dynamicl sql we are using system stored procedure sp_executesql. sp_executesql takes two pre-defined parameters and any number of user-defined parameters. @statement - The is the first parameter which is mandatory, and contains the SQL statements to execute @params - This is the second parameter and is optional. This is used to declare parameters specified in @statement The rest of the parameters are the parameters that you declared in @params, and you pass them as you pass parameters to a stored procedure Declare @sql nvarchar(1000) Declare @params nvarchar(1000) Set @sql = 'Select * from Employees where [email protected] and [email protected]' Set @params = '@FirstName nvarchar(100), @LastName nvarchar(100)' Execute sp_executesql @sql, @params, @FirstName='Ben',@LastName='Hoskins' This is just the introduction to dynamic SQL. If a few things are unclear at the moment, don't worry. In our upcoming videos we will discuss the following 1. Implementing a real world "Search Web Page" with and without dynamic SQL 2. Performance and Security implications of dynamic sql. Along the way we will also discuss good and bad dynamic sql implementations. 3. Different options available for executing dynamic sql and their implications 4. Using dynamic sql in stored procedures and it's implications Once we discuss all the above, you will understand 1. The flexibility dynamic sql provides 2. Advantages and disadvantages of dynamic sql 3. When and when not to use dynamic sql
Views: 43451 kudvenkat
MySQL Stored Procedure 10 - CREATE PROCEDURE
 
05:27
Stored procedures are a vast topic in relational Databases. This video will introduce you to creating your very first stored routine. We discuss delimiters, the create procedure command, the begin and end command, and we briefly introduce the idea of parameters. Hopefully this video is helpful! SQL Fiddle at beginning: http://sqlfiddle.com/#!9/982120 SQL Fiddle at end: http://sqlfiddle.com/#!9/de5378/1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me!: http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 18168 Caleb Curry
PL/SQL 1 - PL SQL environment and variables.
 
05:20
https://drive.google.com/file/d/0BxYoN5rLDBaRSGlZYnI3eHZjQzA/edit?usp=sharing Course objective SQL - PL / SQL: what's the difference? Environment PL / SQL Benefits of PL / SQL Features PL / SQL PL / SQL and then? Example 1 Declare --Optional /* Variables, constants, cursors*/ Begin --Mandatory /* Statements PL/SQL Clauses PL/SQL*/ null; Exception --Optional /*Actions to be performed when an exception is thrown or when an abnormal termination occurred*/ when others then null; End; --Mandatory ----------------------------------- Example 2 set serveroutput on ; BEGIN dbms_output.put_line('Hello World') ; END ; ------------------------------------------------ Example 3 SET SERVEROUTPUT ON DECLARE v_pls_value1 PLS_INTEGER := 0; v_pls_value2 PLS_INTEGER := 1; v_simple_value1 SIMPLE_INTEGER := 0; v_simple_value2 SIMPLE_INTEGER := 1; v_start_time NUMBER; v_end_time NUMBER; BEGIN v_start_time := DBMS_UTILITY.GET_TIME; FOR i in 1..50000000 LOOP v_pls_value1 := v_pls_value1 + v_pls_value2; END LOOP; v_end_time := DBMS_UTILITY.GET_TIME; DBMS_OUTPUT.PUT_LINE ('Elapsed time for PLS_INTEGER: '|| (v_end_time - v_start_time)); v_start_time := DBMS_UTILITY.GET_TIME; FOR i in 1..50000000 LOOP v_simple_value1 := v_simple_value1 + v_simple_value2; END LOOP; v_end_time := DBMS_UTILITY.GET_TIME; DBMS_OUTPUT.PUT_LINE ('Elapsed time for SIMPLE_INTEGER: '|| (v_end_time - v_start_time)); END; ------------------------------------------------ Example 4 DECLARE TYPE client_t IS RECORD ( numero_v NUMBER(4), nom_v CHAR(20), adresse_v CHAR(20) ) ; client1_v client_t ; BEGIN client1_v.numero_v := 2516 ; dbms_output.put_line(client1_v.numero_v); END ;
Views: 1602 Fdo Luis
User Authentication for Oracle APEX
 
47:53
create table user_info ( username varchar2(50), password varchar2(50) ); insert into user_info values('admin','admin'); insert into user_info values('nur',123); commit; FUNCTION user_authentication (p_username IN VARCHAR2,p_password IN VARCHAR2) RETURN BOOLEAN AS v_user_info NUMBER := 0; BEGIN SELECT 1 INTO v_user_info FROM user_info WHERE UPPER(username) = UPPER(p_username) AND password = p_password; RETURN TRUE; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN FALSE; end;
Views: 365 Muhammad Nur E Alam
PL/SQL tutorial 40 : Introduction to PL/SQL Stored Procedure in Oracle Database By Manish Sharma
 
04:59
Learn what are "stored procedures" in Oracle Database By Manish Sharma from RebellionRider.com ------------------------------------------------------------------------ ►►►LINKS◄◄◄ Blog : http://bit.ly/stored-procedure Previous Tutorial ► How To Create PL/SQL function: https://youtu.be/93uqcFVtfWA ------------------------------------------------------------------------- ►►►Let's Get Free Uber Cab◄◄◄ Use Referral Code UberRebellionRider and get $20 free for your first ride. ------------------------------------------------------------------------- ►Make sure you SUBSCRIBE and be the 1st one to see my videos! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ►►►Find me on Social Media◄◄◄ Follow What I am up to as it happens on https://twitter.com/rebellionrider https://www.facebook.com/imthebhardwaj http://instagram.com/rebellionrider https://plus.google.com/+Rebellionrider http://in.linkedin.com/in/mannbhardwaj/ http://rebellionrider.tumblr.com/ http://www.pinterest.com/rebellionrider/ ___Facebook Official Page___ https://www.facebook.com/RebellionRider.official/ You can also Email me at for E-mail address please check About section Please please LIKE and SHARE my videos it makes me happy. Thanks for liking, commenting, sharing and watching more of our videos This is Manish from RebellionRider.com ♥ I LOVE ALL MY VIEWERS AND SUBSCRIBERS
Views: 56091 Manish Sharma
Oracle Forms 10g: Dynamic list item
 
05:40
Dynamic list items: How you can make a dynamic List of values in oracle forms builder, most developer uses many techniques to make List of values. I will tell you a simple and very suitable method for making List item dynamically. Follow me: https://www.facebook.com/munir.du Forms Level When-New-Form-Instance DECLARE rg_products RecordGroup; rg_product_name VARCHAR2(5) := 'PNAME'; plist_ID Item := Find_Item('ORDER_ITEMS.PRODUCT_ID'); nDummy NUMBER; BEGIN rg_products := Find_Group(rg_product_name); -- Delete any existing Group first IF NOT Id_Null(rg_products) THEN Delete_Group(rg_products); END IF; -- Now create a Record Group using a SQL query -- Your Query must have a Label and a Value (two Columns) -- and the data types must match your item type rg_products := Create_Group_From_Query(rg_product_name,'SELECT product_name, to_char(product_id) FROM summit.products'); -- Clear the existing List Clear_List(plist_ID); -- Populate the Record Group nDummy := Populate_Group(rg_products); -- Populate the List Item Populate_List('ORDER_ITEMS.PRODUCT_ID',rg_products); END;
Views: 4958 Leen's Tech