Autor Beitrag
Felix2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124



BeitragVerfasst: Mo 29.08.11 11:15 
Hi Folks !

Kann mir vielleicht jemand von euch sagen, wo innerhalb des Microsoft SQL Servers und vor allem als was (evtl. als Stored Procedure oder als Trigger) ein sogenannter Cursor abgespeichert wird, den ich selbst geschrieben habe?

Greetz
Felix
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 29.08.11 11:59 
Kannst du deine Frage nochmal näher erläutern. Einen Cursor abzuspeichern hört sich merkwürdig an.
Felix2000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124



BeitragVerfasst: Mo 29.08.11 12:09 
Hi Folks !

Am besten poste ich dazu mal ein konkretes Codebeispiel:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
DECLARE garten LOCAL STATIC
FOR

   SELECT ArtNr, ArtBezeichnung, ArtGruppe, ArtVKPreis
   FROM dbo.tblArtikel
   WHERE ArtGruppe = 'GA';

Open garten

DECLARE @artNr int, @bez varchar(60), @preis smallmoney, @gruppe char(2)

FETCH NEXT FROM garten INTO @artnr, @bez, @gruppe, @preis

WHILE @@FETCH_STATUS = 0
BEGIN

   --Beliebige Anweisungen

   FETCH NEXT FROM garten  INTO @artnr, @bez, @gruppe, @preis
END

CLOSE garten
DEALLOCATE garten


Jetzt stellt sich für mich die Frage, wie ich diese Code dauerhaft im MS SQL Server ablegen kann und vor allem als was genau. Ich hoffe, die Frage stellt sich nun etwas prägnanter da?!

Greetz
Felix
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 29.08.11 12:29 
In dem Fall wäre dein T-SQL Code wohl in einer Stored Procedure am besten aufgehoben.
Felix2000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124



BeitragVerfasst: Mo 29.08.11 13:01 
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
In dem Fall wäre dein T-SQL Code wohl in einer Stored Procedure am besten aufgehoben.


das bedeutet also, für einen Cursor gibt es keine eigene Art der Abspeicherung? Das bedeutet also, um diesen Cursor in meiner Datenbank abzuspeichern, müsste ich ihn in eine Stored Procedure "einwickeln" und dann als Stored Procedure abspeichern?

Greetz
Felix
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 29.08.11 13:08 
Ein Cursor ist einfach ein Sprachelement von T-SQL(oder irgend einer anderen prozeduralen SQL artigen Sprache) und so wie du Strukturen in c# wie Schleifen, Verzweigungen etc. kompilierst und in einer Assembly ablegst solltest du das für T-SQL z.B. in einer Stored Proc machen. Du kannst den Code aber auch von mir aus als Text einfach in irgendeiner Tabellen Zelle ablegen den wieder daraus laden und ausführen.