C# 在C中插入新行时如何从存储过程中获取autoID#

C# 在C中插入新行时如何从存储过程中获取autoID#,c#,oracle,stored-procedures,C#,Oracle,Stored Procedures,我想在使用存储过程在表中插入新行时返回AutoID。下面是存储过程,基于where子句,我获取行,然后使用新ID在表中插入相同的行;我需要这个新身份证 create or replace PROCEDURE duplicate_ticket ( i_RowID IN Varchar2 )AS BEGIN INSERT INTO main_table ( programname, partnumber ) SELECT programname, part

我想在使用存储过程在表中插入新行时返回AutoID。下面是存储过程,基于where子句,我获取行,然后使用新ID在表中插入相同的行;我需要这个新身份证

create or replace PROCEDURE duplicate_ticket
(
   i_RowID IN Varchar2
)AS

BEGIN

INSERT INTO main_table (
    programname,
    partnumber
) 
SELECT
    programname,
    partnumber
FROM
    main_table
WHERE id = i_RowID;

END duplicate_ticket;
我甚至试过下面的参考资料,但都不起作用


谢谢

您可以尝试下面我的一个简单示例:如果有人需要SQL中的相同内容

In SQL : You can try 

CREATE PROCEDURE Add_Employee

@Emp_Name     CHAR(100),
@Emp_Dept     CHAR(50), 
@Emp_Address  CHAR(30),
@Emp_City     CHAR(25),
@Emp_Number   CHAR(10), 
@Emp_Salary   CHAR(30)
AS
BEGIN
declare @id int;
INSERT INTO Employee
(EmpName, EmpDept,Address,City,Phone,Salary)

VALUES( @Emp_Name ,@Emp_Dept , @Emp_Address ,@Emp_City , @Emp_Number, @Emp_Salary)
set @id=SCOPE_IDENTITY();
return @id

@mjwils-main_表的可能重复项已经创建,它有3列ID、programname和partnumber。@mjwills-我甚至尝试了您建议的链接。。它不起作用请更新您的问题以显示您根据我的建议尝试了什么(保留旧代码,只需编辑以显示新代码)。确保还包括用于调用存储过程的C#。问题是针对Oracle的。