Oracle Stored Procedure demo

1.how to find invalid status stored procedure and recompile them?

SELECT OBJECT_NAME , status FROM user_objects WHERE OBJECT_TYPE = ‘PROCEDURE‘;

Alter procedure schme.procedurename compile;

缺少练习的学习不是完整的学习,练习才是学习,总结才有思考。

 

SELECT    OBJECT_NAME ,    STATUS FROM    USER_OBJECTS WHERE    OBJECT_TYPE = ‘PROCEDURE‘;

---sample table test(id integer,name varchar2)
CREATE OR REPLACE PROCEDURE testsp(v_msg VARCHAR2)
AS
BEGIN
  DBMS_OUTPUT.PUT_LINE(v_msg);
END testsp;

ALTER  PROCEDURE TESTSP COMPILE;

SET SERVEROUTPUT ON;
EXEC testsp(‘oracle stored procedure‘);
EXEC testsp(‘hua xiao yao‘);

CREATE OR REPLACE PROCEDURE procOneOutPara(v_msg VARCHAR2,v_out_p OUT varchar2)
AS
BEGIN
  DBMS_OUTPUT.PUT_LINE(v_msg);
  v_out_p :=‘execute success‘;
END procOneOutPara;

declare
v_out_msg varchar2(100);
begin
  procOneOutPara(‘hello java‘,v_out_msg);
  dbms_output.put_line(v_out_msg);
end;

CREATE OR REPLACE procedure procCursorReturn(v_id in integer ,outCursor OUT SYS_REFCURSOR )
AS
BEGIN
  open outCursor for
    select * from test where id = v_id;
  exception
    when others then
    dbms_output.put_line(‘errors occurs‘);
    rollback;
END procCursorReturn;

DECLARE
  testCursor SYS_REFCURSOR;
  mytest   test%ROWTYPE;
BEGIN
 procCursorReturn(5,testCursor);
  LOOP
    FETCH testCursor INTO mytest;
      EXIT WHEN testCursor%NOTFOUND;
      dbms_output.put_line(mytest.name);
  END LOOP;
  CLOSE testCursor;
 END;
时间: 2024-11-25 06:56:10

Oracle Stored Procedure demo的相关文章

csharp: Oracle Stored Procedure DAL using ODP.NET

paging : http://www.codeproject.com/Articles/44858/Custom-Paging-GridView-in-ASP-NET-Oracle Oracle sql: --书分类目录kind -- Geovin Du create table BookKindList ( BookKindID INT PRIMARY KEY, BookKindName nvarchar2(500) not null, BookKindParent INT null, Bo

Oracle Java Stored Procedure + 包调用

1. 创建Java Stored Procedure create or replace and compile java source named "TestHello" as public class TestHello{   public static void test(){     System.out.println("Hello");   } } 2.创建JSP调用存过或方法(本例为在包创建的存过) create or replace package 

Oracle中的存储过程(Stored Procedure)

一.存储过程的定义 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程是数据库中的一个重要对象. 二.基本语法 创建存储过程 create procedure sp_name @[参数名] [类型],@[参数名] [类型] as begin ......... end 以上格式还可以简写成: create p

Entity Framework 6.0 Tutorials(9):Stored Procedure Mapping

Code First - Insert, Update, Delete Stored Procedure Mapping: Entity Framework 6 Code-First provides the ability to create and use a stored procedure for add, update, and delete operations. This was not possible in the previous versions of Entity Fra

【机房重构】——存储过程(Stored Procedure)

[前言] 在学习数据库知识时,就曾经接触过存储过程,当时只是如蜻蜓点水一般,短暂的停留,并没有留下什么印象,在进行机房重构学习过程中,又重新认识了存储结构,从开始的抵触,不想用到后来逐渐了解,学着使用,思路越来越清晰,真正去做了才发现了其中的乐趣:常常说学习需要多总结,现在就是在积累,每一次的收获都要整理记录,才能留下深刻的印象,下面就来学习一下存储过程的知识吧. [存储过程的概念] 在采用客户机/服务器(C/S)计算模式的数据库系统中,很多工作可以在客户端完成,也可以在服务器端完成,数据库除了

EntityFramework 学习 一 Stored Procedure

CREATE PROCEDURE [dbo].[GetCoursesByStudentId] -- Add the parameters for the stored procedure here @StudentId int = null AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Inse

Publishing Stored Procedure Execution in Transactional Replication

Replication 不仅可以将Table Article 或 SP Article 推送到subscription,而且还能将sp的execution推送到subscription.推送sp的execution是指将执行sp的command 推送到subscriber去执行, 而不是将sp执行之后产生的大量transaction推送到subscriber上.Transaction是逐个更新Table Article中的数据行. 推送sp的execution来同步subscription的数据

在JDBC中传递table参数给SQL server stored procedure

SQL Server JDBC驱动不支持直接传递Table参数给stored procedure 我的做法是先创建一个临时表,将需要插入的数据先插入到临时表里面,然后把这个临时表作为参数,传送给stored procedure.使用了Preparestatement来避免SQL注入问题. 先创建User Defined Table CREATE TYPE UserIdList AS TABLE( userId uniqueidentifier NOT NULL ); 再创建存储过程: CREAT

Stored Procedure 里的 WITH RECOMPILE 到底是干麻的?

原文:Stored Procedure 里的 WITH RECOMPILE 到底是干麻的? 在 SQL Server 创建或修改「存储过程(stored procedure)」时,可加上 WITH RECOMPILE 选项,但多数文档或书籍都写得语焉不详,或只解释为「每次执行此存储过程时,都要重新编译」.事实上,是指执行此一存储过程时,要强制重新产生「执行计划(execution plan)」,而不要从「缓存(cache)」去取得旧的「执行计划」. SQL Server 在评估与产生「执行计划」