首页 > 解决方案 > 如何在 C# 中插入新行时从存储过程中获取 autoID

问题描述

我想在使用存储过程在表中插入新行时返回 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;

我什至尝试了以下参考,但它不起作用 oracle 过程返回整数

谢谢

标签: c#oraclestored-procedures

解决方案


您可以尝试以下我的一个简单示例:如果有人在 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

推荐阅读