一.返回一个值 --创建存储过程 create or replace procedure sp_hu_test(spcode in varchar2,spname out varchar2)is begin select cname into spname from gb_customerinfo where ccode = spcode; end; //java代码调用和接受返回值 public static void main(String[] arg) { try { Class.forN…
子程序 子程序:命名的 PL/SQL 块,编译并存储在数据库中.   子程序的各个部分: 1.声明部分 2.可执行部分 3.异常处理部分(可选) 子程序的分类: 1.过程 - 执行某些操作 2.函数 - 执行操作并返回值 子程序的优点: 模块化 将程序分解为逻辑模块 可重用性 可以被任意数目的程序调用 可维护性 简化维护操作 安全性 通过设置权限,使数据更安全 存储过程 过程是用于完成特定任务的子程序. 例如:…
编写一个函数,把一个给定的值存储到一个整数中指定的几个位.它的原型如下: int store_bit_field(int original_value, int value_to_store, unsigned starting_bit, unsigned ending_bit); 假定整数中的位是从右向左进行编号.因此,起始位的位置不会小于结束位的位置,为了更清楚的说明,函数应该返回下列值. 原始值 需要储存的位 起始位 结束位 返回值 0x0 0x1 4 4 0x10 0xffff 0x12…
可选值 使用可选(optionals)来处理值可能缺失的情况.可选表示: 有值,等于 x   或者没有值 注意: C 和 Objective-C 中并没有可选这个概念.最接近的是 Objective-C 中的一个特性,一个方法要不返回一个对象要不返回nil,nil表示"缺少一个合法的对象". 然而,这仅仅对对象起作用--对于结构体.主要的 C 类型或者枚举类型不起作用. 对于这些类型,Objective-C 方法通常会返回一个特殊值(比方NSNotFound)来暗示值缺失.这样的方法假…
char *m="e"; lr_save_string("helloworld","p4"); lr_eval_string("{p4}"); lr_output_message("%d",lr_eval_string("{p4}")[1]);//输出e的ASC码 if(lr_eval_string("{p4}")[1]== *m)  //ASC码的值比较 { lr_…
(转)在PB中用oracle的存储过程返回记录集做数据源来生成数据窗口 首先oracle的存储过程写法与MSSQL不一样,差别比较大. 如果是返回数据集的存储过程则需要利用oracle的包来定义游标. 但是若按正规的oracle写法,存储过程写在包体里面, 如果这样的话,PB会找不到此存储过程(如果用直连的方式)(如果用ODBC的方式则有可能不能正常识别存储过程的参数) 因此我们需要将存储过程单独写. 首先我们来看下oracle正规的返回结果集的存储过程的写法 方法一: create or re…
最近项目用到EF,虽然说EF与Linq To SQL有很多地方相似,但是EF(这里指3.5版,4.0版的还没去留意)确实有些地方做得不够方便. 就拿存储过程来说吧,EF里面想调用存储过程不是直接在数据库里拖进来就可以用,还要做一个function import的步骤来建立映射. 如果你的存储过程返回的是一个select * from .....的语句的话,那恭喜你,你的存储过程可以直接使用了.但是如果你的存储过程是返回标量值的呢?那不行,你会发现你的代码提示里面还是没有出现想要的存储过程名称.&…
java 一个函数如何返回多个值   在开发过程中,经常会有这种情况,就是一个函数需要返回多个值,这是一个问题!! 网上这个问题的解决方法: 1.使用map返回值:这个方法问题是,你并不知道如何返回值的key是什么,只能通过doc或者通过源代码来查看. 2.传入一个引用进去,修改引用的属性值.问题:不实用. 3.通过泛型构造一个类似python的tuple类,或者构造一个JavaBean,其问题都是“一次性”,觉的不优雅. 个人解决方案: 使用EnumMap作为返回值类型,自己定义一个enum,…
在子查询中,如果想实现如下的功能: select lib,count(*),select sum(newsNo) from Table1 group by lib from Tabel1 T1,Table2 T2 where T1.newsNo =T2.newsNo group by lib 就会提示“子查询返回的值不止一个.”的错误,意思是子查询不能返回多个结果,只能返回一个结果. 因此可以改用如下的方式: select lib,count(*),select sum(newsNo) from…
Python也和C语言一样有自己的标准库,不过在Python中叫做模块(module),这个和C语言中的头文件以及Java中的包类似,其中math就是其中之一,math模块中提供了sin()和cos()函数 引用Python中模块(以引用math为例)的格式为:import math 以一个计算游戏中坐标的例子来说吧: import math def move(x,y,step,angle): nx = x + step * math.cos(angle) ny = y - step * mat…