BeginINSERT INTO WalkInfo_TaskList (Id ,ProjectNo, TaskType, TaskPara, TaskResult, TaskState, TaskPriority, UserId, CreateTime, EndTime)
      VALUES (WALKINFO_TASKLISTID.Nextval, '123' , 1, 'xxxx', 'ssss', 1, 0, 123, Sysdate, Null);
      
Select  WALKINFO_TASKLISTID.Currval From dual ;
   
      End;这个是在asp.net后台的一个SQL语句,去掉begin end发现在PL/SQL里能正确执行,但是无法用程序发送到数据库执行并返回数据,
加上begin end 后报select 语句缺少into
该如何解决呢?

解决方案 »

  1.   

    如果你的主键可以用Guid的话就换吧,产生了Guid再插入DB中
      

  2.   

    把你的id列设置为 int output; 
      

  3.   

    自增长的么
    select @@IDENTITY select max(id)...
      

  4.   

    第一个是SQL SERVER里的,不是我要的oracle的答案
    第二个会引起并发产生的错误,比如在执行select max(id)之前,别人又使用了序列插入了一个ID,
    那么select max(id)查到的就是别人新插入的ID,而不是自己刚刚所用的ID
    所以你的两个'答案都是无效的
      

  5.   

    那只能用returning了
    returning   SPLYBUREAUID;