I have the following code that runs on Oracle:
OracleCommand command = conn.CreateCommand(); // conn is my connection
string sql = "INSERT INTO table_name (ID, NAME, GENDER) VALUES (1, 'JOHN', 'M') RETURNING ID INTO :returnedId";
command.CommandText = sql;
command.Parameters.Add(new OracleParameter("returnedId", OracleDbType.Decimal));
command.ExecuteNoQuery();
I need to port this to SQL Server. This is what I do:
SqlCommand command = conn.CreateCommand(); // conn is my connection
string sql = "INSERT INTO table_name (Id, Name, Gender) OUTPUT Inserted.Id As returnedId VALUES (1, "JOHN", "M")";
command.CommandText = sql;
command.Parameters.Add(new SqlParameter("returnedId", SqlDbType.Decimal));
command.ExecuteNoQuery();
This code gives me the following error:
a parameterized query expects a parameter that was not specified: @returnedId
What is the proper way to transfer proposals RETURNINGand :returnedIdfrom Oracle to SQL Server?
I tried OUTPUT Inserted.Id As @returnedId, and also changed SqlParameterto "@returnedId"without success.
source
share