Я хочу создать и запустить хранимую процедуру с параметром IN, который является датой. После того, как дата прошла в процедуру, я хочу запустить простой оператор select для передачи всех данных в таблицу назначения.Вызовите хранимую процедуру с параметром даты из C#
Если предположить, что исходная таблица и таблицы назначения точно такие же, я использую:
CREATE OR REPLACE procedure Test (start_date in data) as
Begin
insert into Destination_table (column 1 , column2, date_Column)
Select column1, column 2, Date_column
from Source_table
Where date_column = Start_date;
Commit;
End Test;
Отредактировано ...
CREATE OR REPLACE PROCEDURE Procedure_TEST (s_date IN date) AS
BEGIN
INSERT INTO Ps_dest_table (Name, Salary, STATEMENTDATE)
SELECT Name, Salary, STATEMENTDATE
FROM ps_Source_table
WHERE (statementdate = s_date)
END procedure_TEST;
Является ли это правильный способ сделать это? или я что-то упускаю? Как я могу назвать это кодом C#?
Да, это правильно, но удалите фиксацию. Управление транзакциями должно управляться вызывающим абонентом. См. Здесь для exampel для C# http://stackoverflow.com/questions/3940587/calling-oracle-stored-procedure-from-c-net – OldProgrammer
Я пробовал это, но я получаю, что источник не имеет runnable target.Also из программы когда я запускаю этот процесс, ничего не происходит. примерная таблица назначения не имеет данных. – user2315840
Ну, пожалуйста, обновите свой вопрос с помощью самых правильных деталей. Вы получаете эту ошибку, «источник не имеет runnable target» из C#? – OldProgrammer