我有一个存储过程来更新参数化变量的表然后我该如何执行 [英] I Have A Store Procedure To Update A Table Against Parametrised Variable Then How Can I Execute

查看:78
本文介绍了我有一个存储过程来更新参数化变量的表然后我该如何执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个存储过程来更新参数化变量的表然后我该如何执行



I Have A Store Procedure To Update A Table Against Parametrised Variable Then How Can I Execute

CREATE OR REPLACE PROCEDURE EMPLOYEE_S_UPDATE (S_SALARY VARCHAR2)
AS
   F_NAME         VARCHAR2 (23);
   G_GENDER       VARCHAR (6);
   D_DEPARTMENT   VARCHAR2 (22);
   P_POSITION     VARCHAR2 (23);
BEGIN
   SELECT DEPARTMENT, FULL_NAME, GENDER, POSITION
     INTO D_DEPARTMENT, F_NAME, G_GENDER, P_POSITION
     FROM EMPLOYEE_S;
    --WHERE SALARY = S_SALARY;
   UPDATE EMPLOYEE_S
      SET DEPARTMENT = D_DEPARTMENT,
          FULL_NAME = F_NAME,
          GENDER = G_GENDER,
          POSITION = P_POSITION
    WHERE SALARY = S_SALARY;
   COMMIT;
END;

推荐答案

基于标签你'重新使用Perl。在这种情况下,您可以使用问号(?)作为参数的占位符,然后在执行之前使用bind_param设置参数的值。



有看看:

- DBI简明指南 [< a href =http://www.perl.com/pub/199​​9/10/DBI.htmltarget =_ blanktitle =New Window> ^ ]

- 5.3。将参数绑定到语句 [ ^ ]
Based on the tag you're using Perl. In that case you can use a question mark (?) as a place holder for the parameter and then use bind_param to set the value for the parameter before execute.

Have a look at:
- A Short Guide to DBI[^]
- 5.3. Binding Parameters to Statements [^]


EXEC dbo.EMPLOYEE_S_UPDATE @S_SALARY = 10;



or

EXEC dbo.EMPLOYEE_S_UPDATE 10;


我想,它应该完全奏效:

I suppose, that it should exactly work:
#!/usr/local/bin/perl
use DBI;
 se DBD::ODBC;
my 


这篇关于我有一个存储过程来更新参数化变量的表然后我该如何执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆