oracle中pro*c的学习
oracle中pro*c的学习
一 Pro*C 程序概述:
1.什么是Pro*C程序
在ORACLE数据库管理和系统中, 有三种访问数据库的方法;
(1) 用SQL*Plus, 它有SQL命令以交互的应用程序访问数据库;
(2) 用第四代语言应用开发工具开发的应用程序访问数据库,这些工具有SQL*froms,QL*Reportwriter,SQL*Menu等;
(3) 利用在第三代语言内嵌入的SQL语言或ORACLE库函数调用来访问。
Pro*C就属于第三种开发工具之一, 它把过程化语言C和非过程化语言SQL最完善地结合起来, 具有完备的过程处理能力,又能完成任何数据库的处理品任务,使用户可以通过编程完成各种类型的报表。在Pro*C程序中可以嵌入SQL语言, 利用这些SQL语言可以完成动态地建立、修改和删除数据库中的表,也可以查询、插入、修改和删除数据库表中的行, 还可以实现事务的提交和回滚。
在Pro*C程序中还可以嵌入PL/SQL块, 以改进应用程序的性能, 特别是在网络环境下,可以减少网络传输和处理的总开销。
2.Pro*C的程序结构图
通俗来说,Pro*C程序实际是内嵌有SQL语句或PL/SQL块的C程序, 因此它的组成很类似C程序。 但因为它内嵌有SQL语句或PL/SQL块, 所以它还含有与之不同的成份。为了让大家对Pro*C有个感性的认识, 特将二者差别比较如下:
C的全程变量说明
C源程序 函数1:同函数K。
函数2:同函数K。
C的局部变量说明
函数K
可执行语句
应用程序首部 C的外部变量说明
外部说明段(ORACLE变量说明)
通讯区说明
Pro*C源程序 函数1:同函数K。
函数2:同函数K。
C局部变量说明
程序体 内部说明部分 内部说明段
通讯区说明
函数K C的可执行语句
可执行语句 SQL的可执行语句
或PL/SQL块
二.Pro*C程序的组成结构
每一个Pro*C程序都包括两部分:(1)应用程序首部;(2)应用程序体
应用程序首部定义了ORACLE数据库的有关变量, 为在C语言中操纵ORACLE数据库做好了准备。应用程序体基本上由Pro*C的SQL语句调用组成。主要指查询SELECT、INSERT、UPDATE、DELETE等语句。
应用程序的组成结构如图所示:
EXEC SQL BEGIN DECLARE SECTION (SQL变量的定义)EXEC SQL END DECLARE SECTION;
EXEC SQL INCLUDE SQLLA;
EXEC SQL CONNECT:< 用户名> IDENTIFIED BY: < 口令 >
SQL 语句及游标的使用
1. 应用程序首部
应用程序的首部就是Pro*C的开始部分。它包括以下三部分:
l C变量描述部分;
l SQL变量描述部分(DECLARE部分);
l SQL通信区
相关文档:
Technorati 标签: C++ 原文地址:http://www.byvoid.com/blog/c-int64/ 在C/C++中,64为整型一直是一种没有确定规范的数据类型。现今主流的编译器中,对64为整型的支持也是标准不一,形态各异。一般来说,64位整型的定义方式有long long和__int64两种(VC还支持_int64),而输出到标准输出方式有printf(“%lld”,a),printf ......
好久以前做的一个程序,贪心策略实现背包问题,c实现。
总结在这里,以备以后和别人查找。
//背包问题
#include "stdio.h"
#define MAX 10
void main()
{
int w[MAX]={0,10,130,15,60,25}; //存放质量
int v[MAX]={0,30,5,10,20,25}; //存放价值
flo ......
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法
1 create or replace procedure NoParPro
2 as ;
3 begin
4 ;
5 exception &nb ......
#include<stdio.h>
#define N 8
void input(int n,int p[N][N])
{
int i,j;
for(i=0;i<n;i++)
{
printf("please input the %d line:\n",i+1);
for(j=0;j<n;j++)
{
scanf("%d",&p[i][j]);
}
}
}
void output(int n,int p[N][N])
......