Хранимая процедура из CodeigniterPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Хранимая процедура из Codeigniter

Сообщение Anonymous »

Как предотвратить многократное выполнение хранимой процедуры для одного запроса?

Код: Выделить всё

$from_statecode = 'TN';
$this->db->query("Declare @CurrentInvoiceNo int
Execute spSetInvoiceNoStatewise '$from_statecode', @CurrentInvoiceNo output
select @CurrentInvoiceNo");
Хранимая процедура: spSetInvoiceNoState, имеет следующий вид: -

Код: Выделить всё

CREATE Procedure [dbo].[spSetInvoiceNoStatewise]
@StateCode nvarchar(20),
@InvoiceNo int = 0 output
AS
Begin
select @InvoiceNo=invoice_no from statewise_invoice_no where invoice_state_code=@StateCode

if(@InvoiceNo is not NULL)
UPDATE statewise_invoice_no set invoice_no = @InvoiceNo + 1 where invoice_state_code = @StateCode

if(@InvoiceNo is NULL)
insert into statewise_invoice_no (invoice_state_code,invoice_no) values (@StateCode, 1);

select @InvoiceNo=invoice_no from statewise_invoice_no where invoice_state_code=@StateCode

End
Что-то не так с хранимой процедурой?
Или что можно сделать, чтобы предотвратить многократное выполнение одного запроса?

Я просмотрел статьи, в которых предлагается «Блокировать ресурс или транзакции»

Подробнее здесь: https://stackoverflow.com/questions/502 ... odeigniter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»