下面这个怎么错了??????
DECLARE VAR varchar2;
VAR := (SELECT COUNT(1) FROM TMDr01);
SELECT VAR;
下面这样创建存储过程对马? 我调用报错
create or replace procedure GET_DOCTORMST_NEW
(
   v_delflg IN VARCHAR2,
   v_withdata IN VARCHAR2,
   v_columnList IN VARCHAR2,
   RefCur_MasterBO OUT VARCHAR2,
   v_totalCount OUT VARCHAR2);
)
as
begin
select F001,F002,F003,F004,F005,F006,F007,UPDID,UPDDT from tmdr01;
RefCur_MasterBO := '123';
v_totalCount := (select count(1) from tmdr01);
end调用方法
   OracleCommand cmd = new OracleCommand("GET_DOCTORMST_NEW", con);
   cmd.CommandType = CommandType.StoredProcedure;
   #region 参数
   OracleParameter v_delflg = new OracleParameter("v_delflg", OracleDbType.Varchar2);
   v_delflg.Direction = ParameterDirection.Input;
   cmd.Parameters.Add(v_delflg);
   OracleParameter v_withdata = new OracleParameter("v_withdata",OracleDbType.Varchar2);
   v_withdata.Direction = ParameterDirection.Input;
   cmd.Parameters.Add(v_withdata);
   OracleParameter v_columnList = new OracleParameter("v_columnList",OracleDbType.Varchar2);
   v_columnList.Direction = ParameterDirection.Input;
   cmd.Parameters.Add(v_columnList);
   OracleParameter RefCur_MasterBO = new OracleParameter("RefCur_MasterBO",OracleDbType.Varchar2);
   RefCur_MasterBO.Direction = ParameterDirection.Output;
   cmd.Parameters.Add(RefCur_MasterBO);
   OracleParameter v_totalCount = new OracleParameter("v_totalCount", OracleDbType.Varchar2);
   v_totalCount.Direction = ParameterDirection.Output;
   cmd.Parameters.Add(v_totalCount);
   #endregion
   try
   {
   string timeStart = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ssss ffff"); //执行开始时间
   OracleDataAdapter da = new OracleDataAdapter(cmd);

解决方案 »

  1.   

    create or replace procedure GET_DOCTORMST_NEW
    (
      v_delflg IN VARCHAR2,
      v_withdata IN VARCHAR2,
      v_columnList IN VARCHAR2,
      RefCur_MasterBO OUT VARCHAR2,
      v_totalCount OUT VARCHAR2);//括号什么意思
    )参考C#对Oracle存储过程的调用
      

  2.   

    不佳最后的括号也不对,显示错误 "GET_DOCTORMST_NEW is invalid" 
      

  3.   

    create or replace procedure GET_DOCTORMST_NEW
    as
    begin
    select F001,F002,F003,F004,F005,F006,F007,UPDID,UPDDT from tmdr01;
    end;
    我改成这样了还是有错误
      

  4.   

    Oracle的存储过程的语法对不对。貌似没错。
    报什么错
      

  5.   

    GET_DOCTORMST_NEW is invalid
      

  6.   

    create procedure a  我这样创建都报这个错误 
      

  7.   

    GET_DOCTORMST_NEW 换个存储过程名试试
      

  8.   

    GET_DOCTORMST_NEW 换个存储过程名试试
      

  9.   

    那就奇怪了,Oracle9i还是10g 11g