利用包构建存储过程和存储函数的案例

存储过程:
包
create or replace package emppackage is
  -- Author  : ADMINISTRATOR
  -- Created : 2012-3-22 14:02:43
  -- Purpose : 声明一个存储过程 
  -- Public type declarations
  type empcursor is ref cursor;
  -- Public function and procedure declarations
  --声明一个存储过程
  procedure selectEmps(emplist out empcursor);
end emppackage;
包体
create or replace package body emppackage is
  -- Function and procedure implementations
  procedure selectEmps(emplist out empcursor) is
  begin
    open emplist for select * from emp;
  end;
end emppackage;
在命令窗口中调用:
declare
empc1 emppackage.empcursor;
emp_row emp%rowtype;
begin
emppackage.selectEmps(empc1);
loop
fetch empc1 into emp_row;
exit when empc1%notfound;
dbms_output.put_line(emp_row.empno);
end loop;
close empc1;
end;
结果:
2345
7369
7499
7521

存储函数:
包:
create or replace package mypackage is
  -- Author  : ADMINISTRATOR
  -- Created : 2012-3-22 14:06:47
  -- Purpose : 存储函数  
  -- Public type declarations
  type empc1 is ref cursor; 
  function queryEmps return empc1;
end mypackage;
包体:
create or replace package body mypackage is
function queryEmps return empc1 is
  emp_c1 empc1;
  begin
    open emp_c1 for select * from emp;
    return emp_c1;
    end;  
end mypackage;
在命令窗口中调用:
 declare
emp_c1 mypackage.empc1;
emp_row  emp%rowtype;
begin
emp_c1:=mypackage.queryEmps;
loop
 fetch emp_c1 into emp_row;
exit when emp_c1%notfound;
dbms_output.put_line(emp_row.empno);
end loop;
close emp_c1;
end;
结果:
2345
7369
7499
7521

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A:Knative是一个开源项目,它构建在Kubernetes之上,为开发人员提供了一个抽象层,用于构建、部署和管理现代服务器less应用程序。 要使用Knative部署函数,需要在Kubernetes上安装Knative,然后创建一个函数服务,该服务将自动扩展和缩放,以适应负载变化。以下是一个简单的Knative函数部署案例: 1. 在Kubernetes上安装Knative: - 基于Istio的安装: ``` gcloud components install kubectl gcloud components install knative kubectl apply --filename https://github.com/knative/serving/releases/download/v0.18.0/serving-crds.yaml kubectl apply --filename https://github.com/knative/serving/releases/download/v0.18.0/serving-core.yaml ``` - 基于Contour的安装: ``` gcloud components install kubectl gcloud components install knative kubectl apply --selector knative.dev/crd-install=true \ --filename https://storage.googleapis.com/knative-nightly/serving/latest/serving-crds.yaml kubectl apply --selector knative.dev/crd-install=true \ --filename https://storage.googleapis.com/knative-nightly/serving/latest/serving-core.yaml kubectl apply --filename https://storage.googleapis.com/knative-nightly/serving/latest/serving-contour.yaml ``` 更多关于 Knative 版本文档中的信息。 2. 使用函数构建函数服务: - 将代码推送到GitHub存储库。 - 在Knative Console中创建一个新的函数服务: ``` apiVersion: serving.knative.dev/v1 kind: Service metadata: name: <SERVICE_NAME> spec: template: metadata: name: <SERVICE_NAME>-<BUILD_ID> spec: serviceAccountName: build-bot containers: - image: gcr.io/knative-samples/helloworld-go env: - name: TARGET value: "Go Sample v1" ``` - 提交代码后,Knative将自动构建并部署新版本的函数服务。 3. 使用HTTP触发器测试函数服务: - 确认刚刚构建的服务已经在Knative中运行。 - 创建一个HTTP触发器来触发该服务: ``` apiVersion: eventing.knative.dev/v1 kind: Trigger metadata: name: <TRIGGER_NAME> spec: broker: name: default filter: {} subscriber: ref: apiVersion: serving.knative.dev/v1 kind: Service name: <SERVICE_NAME> port: 80 ``` - 使用curl测试触发器: ``` curl http://<TRIGGER_URL> --header "Host: <SERVICE_NAME>.default.example.com" ``` 4. 函数服务自动扩展和缩放: - 如果负载增加,Knative将自动扩展函数服务实例以满足新请求。 - 如果负载下降,Knative将自动收缩函数服务实例,以减少资源使用。 通过Knative的自动扩展和缩放机制,可以轻松构建高效的服务器less应用程序,无需手动管理扩展和收缩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值