我曾经使用过一次,在pl / sql中使用存储过程绑定变量。 (为了加快我的查询结果)。
例如,在存储过程中,我使用它如下:
create or replace procedure dsal(p_empno in number) as begin execute immediate 'update emp set sal = sal*2 where empno = :x' using p_empno; commit; end;
现在,我的查询在前端与(asp.net(vb)和pl / sql)不在存储过程中。 我想将bind变量与字符串查询一起使用。
如何在前端(按钮后面)使用此结构?
答案 0 :(得分:0)
xRather而不是使用带有动态SQL的存储过程...
在存储过程中使用ADO.NET而不是动态SQL。您可以使用这样的绑定变量:
OracleCommand command;
...
command.CommandType = CommandType.Text;
command.CommandText = "UPDATE emp SET sal = sal*2 WHERE empno = :x";
command.Parameters.Add("x", someValue);
...
command.ExecuteNonQuery();
...
或者,使用存储过程但不要像这样使用动态SQL:
create or replace procedure dsal(p_empno in number) as
begin
UPDATE emp SET sal = sal*2 WHERE empno = p_empno;
end;