1、创建表
CREATE TABLE user_info ( id VARCHAR2(4), name VARCHAR2(15), pwd VARCHAR2(15), address VARCHAR2(30) );
2、创建存储过程
CREATE OR REPLACE PROCEDURE AddNewUser(n_id USER_INFO.id%TYPE,n_name user_info.name%TYPE,n_pwd user_info.pwd%TYPE,n_address user_info.address%TYPE) IS BEGIN INSERT INTO user_info(id,name,pwd,address) VALUES(n_id,n_name,n_pwd,n_address); END AddNewUser;
3、调用存储过程
PL/SQL procedure successfully completed SQL> set serveroutput on SQL> SQL> DECLARE 2 v_id user_info.id%TYPE := 'u002'; 3 v_name user_info.name%TYPE := 'wish'; 4 v_pwd user_info.pwd%TYPE := 'history'; 5 v_add user_info.address%TYPE := 'shanghai'; 6 BEGIN 7 AddNewUser(v_id,v_name,v_pwd,v_add); 8 DBMS_OUTPUT.PUT_LINE('用户 ' || v_name || ' 已经成功插入'); 9 END; 10 / 用户 wish 已经成功插入 PL/SQL procedure successfully completed
或者
DECLARE v_id user_info.id%TYPE := 'u002'; v_name user_info.name%TYPE := 'wish'; v_pwd user_info.pwd%TYPE := 'history'; v_add user_info.address%TYPE := 'shanghai'; BEGIN AddNewUser(v_id,v_name,v_pwd,v_add); DBMS_OUTPUT.PUT_LINE('用户 ' || v_name || ' 已经成功插入'); END;
4、程序中调用存储过程
我们在程序中(或者 sql 可以出现的任何地方),使用 sql 调用我们刚写好的存储过程: --利用EXEC()直接插入 EXEC AddNewUser('u003','jian','jian','beijing'); --或 EXECUTE AddNewUser('u004','zhang','zhang','beijing'); 完毕。
细心地读者会发现:存储过程不就是对 sql 语句的封装么?有了 AddNewUser 这个存储过程,每次插入的时候我们不用写 sql 语句 insert ... 了。 很对,存储过程本质上就是对业务关系复杂的 sql 语句的封装。sql 语句以程序块的形式被封装在了数据库中了。写好了以后,无论是 java,还是 .net ,抑或其他开发语言,可以像使用 sql 语句那样随意调用。这就是数据库开发。 另外,过程与函数的差别:函数与过程有很多相似的地方,但也有一些差别,其中的一点就是,过程的参数可以有三种模式(IN、OUT、IN OUT),而函数只有一种(IN),因为使用函数的目的是传入0或多个参数,返回单一的值,想让函数返回多个值是一种不良的编程习惯,我们应该加以改正。
相关推荐
2. **数据插入**:INSERT语句用于向表中添加新记录。 3. **数据更新**:UPDATE语句用于修改现有记录。 4. **数据删除**:DELETE语句用于从表中移除记录。 5. **创建和管理表**:CREATE TABLE用于创建新的数据库表,...
它包括数据查询、数据更新、数据插入和数据删除等功能,是数据库管理员和开发人员必备的技能之一。 ### 二、MSSQL的基本概念 1. **数据库**:存储数据的容器,由一系列表组成。 2. **表**:数据的二维结构,由列和...
本数据库实例是专为学习SQL Server操作而设计的,特别适合初学者熟悉数据库的基本概念,包括查询、更新、插入和删除等操作。下面我们将深入探讨这个实例中的关键知识点。 1. **关系型数据库基础** - 数据库...
在MySQL数据库中,批量插入数据是提高数据插入效率的重要手段,特别是在处理大量数据时。本文将详细讲解如何通过循环实现批量插入,并通过实例代码进行解析。 首先,我们来看一下背景。在进行分页查询时,有人提出...
常用命令如`SELECT`用于查询数据,`INSERT`用于插入数据,`UPDATE`用于更新数据,`DELETE`用于删除数据,`CREATE TABLE`用于创建表,`ALTER TABLE`用于修改表结构,`DROP TABLE`用于删除表等。 2. PL/SQL基础: PL...
总结起来,"Oracle PL/SQL实例精解 数据库建立代码"涵盖了数据库设计、对象创建、索引优化以及数据插入等多个方面,是学习和提升Oracle数据库管理技能的宝贵资源。通过解析和执行这些示例,开发者可以更好地理解和...
2. **数据插入**:`INSERT INTO`语句用于向表中添加新记录,例如`INSERT INTO Employees (Name, Age) VALUES ('John Doe', 35)`。 3. **数据更新**:使用`UPDATE`语句修改已存在的数据,如`UPDATE Employees SET ...
在"DB2存储过程练习"文件中,可能包含了一系列的存储过程示例,如数据的插入、更新、查询等操作,这些实例可以帮助初学者更好地理解如何在实际项目中运用存储过程。 总结,DB2的存储过程是数据库开发的重要工具,...
Oracle对象包括触发器(Trigger)、存储过程(Stored Procedure)以及其他多种数据库组件,它们对于实现业务逻辑、数据验证以及性能优化等方面起着至关重要的作用。这篇文档将深入探讨如何在Oracle环境中创建和管理...
在C#中,批量插入数据到SQL Server表是一种提高数据处理效率的重要技术,尤其是在处理大量数据时。本文将深入探讨如何使用C#实现这一功能,包括两种常见的批量插入方法:`SqlBulkCopy` 和 存储过程。 1. **...
### COBOL程序实例运用详解 #### 一、概述 本篇内容主要通过两个COBOL程序示例来介绍COBOL语言中的链表处理、数据排序以及删除操作等相关技术。COBOL(Common Business-Oriented Language)是一种广泛应用于商业...
本文将详细讲解如何在PostgreSQL中创建存储过程并返回数据集,通过一个具体的实例来阐述整个流程。 1. **创建数据表** 在开始之前,我们需要创建两个数据表:`member_category` 和 `member`。`member_category` 表...
例如,插入CLOB数据: ```cpp Clob clob(conn); clob.createTemporary(); clob.setString(text); ctl1.bind(&clob, SQLT_CLOB, &ind1); stmt.setSQL("INSERT INTO table_name (clob_column) VALUES (:1)"); stmt....
SQL是一种用于管理关系数据库的标准语言,包括查询、插入、更新和删除数据,以及创建和修改数据库结构。以下是一些基于描述中提到的"sql编程的几个实例"所涵盖的关键知识点: 1. **查询操作**:SQL的核心功能之一...
这些脚本可能包含了书中的示例程序、数据库创建脚本或数据插入语句。读者可以运行这些脚本来实践书中的例子,从而更好地理解PL/SQL的语法和功能。这不仅提供了实际操作的机会,还能让学习过程更加生动有趣。 3. `...
2. **事务处理**:在涉及多个表的操作(如更新、插入、查询和删除)时,存储过程可以与数据库的事务处理相结合,确保数据的一致性和完整性。 3. **代码复用**:存储过程可以被多次调用,减少了开发人员编写重复SQL...
【SQL2000实例教程讲解】 SQL2000是一种基于SQL标准的数据库管理系统,由微软公司开发,主要用于管理和处理关系型数据库。本教程旨在为初学者提供基础的SQL知识,涵盖创建数据库表格、数据查询、数据操作等方面。 ...
SQL(Structured Query Language,结构化查询语言)是数据库管理的基础,广泛应用于数据查询、更新、插入和删除等操作。以下是基于该手册可能涵盖的一些关键知识点的详细解析: 1. **SQL基础语法**:SQL的基本构成...
在这个PLSQL综合实例中,我们将探讨如何使用PLSQL来处理高校研究生招生系统的成绩数据。 实例的设计目标是根据考生的专业课成绩和总分,自动将考生分类为录取、调剂或落选。这涉及到对数据的处理和逻辑判断,是...