SP'de çalışan Cursor hatası 'Cursor does not exist'(Çözüldü)

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
kahraman1285
Üye
Mesajlar: 360
Kayıt: 10 Nis 2006 09:07

SP'de çalışan Cursor hatası 'Cursor does not exist'(Çözüldü)

Mesaj gönderen kahraman1285 »

Mrb

Yazdığım SP içinde bulunan Cursor Sql server 2005 içinde hata vermezken parametre göndererek çalıştırmak istediğimde çalışmasına rağmen hata veriyor.

'Cursor does not exist' hatası alıyorum. Dışarıdan 3 adet parametre vererek çalıştırmak istediğim spdeki cursor işlemi hata veriyor.
Konu hakkında tavsiyesi olan?

Kod: Tümünü seç

USE [Restoran]
GO
/****** Object:  StoredProcedure [dbo].[siparisden_satisa]    Script Date: 10/17/2007 22:08:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[siparisden_satisa] 

@masa_satis int,  @odemesekli varchar(15),@garsonnum smallint

AS
declare @masanum int
declare @kodnumara int
declare @yemekismi varchar(15)
declare @fiyati float
declare @odemem varchar(15) 
declare @garsonno smallint

BEGIN
set @masanum=@masa_satis

declare CursorSatir cursor for
select kod,adi,fiyat 
from siparis
where masa=@masanum

open cursorSatir

fetch next from CursorSatir into @kodnumara,@yemekismi,@fiyati

while @@fetch_status=0
begin

BEGIN TRANSACTION 

insert into satislar(masa,kod,adi,fiyat,odeme,garson) values(@masanum,@kodnumara,@yemekismi,@fiyati,@odemesekli,@garsonnum)

      IF @@Error <> 0  -- If there is any error ! 
        BEGIN 
          ROLLBACK TRANSACTION 
        END 
      ELSE 
        BEGIN 
          COMMIT TRANSACTION 
        END 

fetch next from CursorSatir into @kodnumara,@yemekismi,@fiyati

end

close cursorsatis
deallocate cursorsatis
	
delete from siparis
where masa=@masanum								
IF @@Error <> 0  -- If there is any error ! 
  RETURN -1 
ELSE 
  RETURN 0 
end


parametreli çalıştırma

Kod: Tümünü seç

exec siparisden_satisa 1,'Nakit',1
Sp çalışmasına rağmen 'Cursor dose not exist' hatası alıyorum
En son kahraman1285 tarafından 21 Eki 2007 04:46 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Mesaj gönderen akdatilla »

silinecek kursor adını yanlış yazmışsın

Kod: Tümünü seç

close cursorsatis 
deallocate cursorsatis 
satırları yerine aşağıdakileri yazarsan hata çıkarmaz sanırım.

Kod: Tümünü seç

close cursorSatir
deallocate cursorSatir
kolay gelsin.
kahraman1285
Üye
Mesajlar: 360
Kayıt: 10 Nis 2006 09:07

Mesaj gönderen kahraman1285 »

Gerçektende hata yazım yanlışıymış.:oops:

Teşekküreler.Dikkatsizlik işte. :(
Cevapla