Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SET Lokale Variable in SQL auf einem 2000 SERVER

Frage Microsoft Microsoft Office

Mitglied: PCFJKG

PCFJKG (Level 1) - Jetzt verbinden

07.08.2008, aktualisiert 08.06.2012, 3626 Aufrufe, 2 Kommentare

SET @local_variable akzeptiert keine Variablen bei Ausführung von EXEC

Es geht um eine gespeicherte Prozedur in einem MS-Access Projekt.
01.
Alter Procedure <Proz_Name> 
02.
03.
	@<Variable> char(4), 
04.
05.
As 
06.
 
07.
DECLARE @CmdStr varchar(2000) 
08.
DECLARE @VariableTest decimal(5,2) 
09.
/* Angenommen, Spalte_y wird nach dem Wert 20 abgefragt */ 
10.
 
11.
SET @<VariableTest> = (SELECT SUM(<Spalte_x>) FROM <Table> WHERE (<Spalte_y> = 20)) 
12.
 
13.
/* Die @<Variabletest> enthält ordnungsgemäß die Summe. */
Nun soll Spalte_y nach dem jeweils in @<Variable> beim Aufruf übergebenen Wert abgefragt werden
01.
SET @CmdStr = 'SET @<VariableTest> = (SELECT SUM(<Spalte_x>) FROM <Table> WHERE (<Spalte_y> = ' + @<Variable> + '))' 
02.
EXEC(@CmdStr) 
03.
 
04.
/* Die @<VariableTest> enthält NULL. */
Syntax ? EXEC bei SET nicht zuässig ? oder ?

Ich vermute, dass @<VariableTest> im Fall "SET @CmdStr ..." als beliebige Zeichenfolge (im Gesamtstring) an @CmdStr übergeben wird und nicht als deklarierte Variable erkannt wird. Wie aber kann das erreicht werden ?
PCFJKG
Mitglied: Biber
07.08.2008 um 18:06 Uhr
Moin PCFJKG,

Nachfragen:
  • willst Du denn die VariableTest gar nicht nach aussen reichen oder wird die im weiteren Verlauf der SP verwendet...??
  • wäre nicht ein "Select.....INTO @VariableTest ..." eher der übliche Weg?

Grüße
Biber
Bitte warten ..
Mitglied: PCFJKG
07.08.2008 um 20:27 Uhr
Hi Biber,

ich wollte die Variable im weiteren Verlauf der Prozedur verwenden weil ich mein(t)e, dass diese als Abfragekriterium einfacher zu handaben ist als eine Table. Ich dachte bisher, dass "SELECT .... INTO" in eine Variable nicht möglich ist (sondern nur in eine Tabelle), werde es aber gleich ausprobieren. Um weiterzukommen wäre eine ##Table mit nur einer Spalte und dort wiederum nur einer Zeile auch möglich; und ##Tables stören und belasten im Prinzip nicht, wenn es denn nicht zu viele sind ... Insoweit komme ich Dank des Tipps zunächst sicher weiter voran, auch wenn es vielleicht nicht die eleganteste Lösung ist.

Danke für die Antwort, vielleicht bis demnächst

PCFJKG
Bitte warten ..
Ähnliche Inhalte
Lizenzierung
Pervasive SQL 2000 Lizenzen für Novell Netware gesucht! (3)

Frage von Riki.G zum Thema Lizenzierung ...

Windows Userverwaltung
Lokale Ordnerumleitung auf den Server wieder lokal umsetzen (6)

Frage von M.Marz zum Thema Windows Userverwaltung ...

Datenbanken
SQL 2000 DB ist Fehlerverdächtig (3)

Frage von franksig zum Thema Datenbanken ...

Windows Server
gelöst Frage zu Microsoft Lizenzierung - Microsoft SQL Server 2016 (10)

Frage von Juckie zum Thema Windows Server ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (20)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Linux Desktop
KDE Slimbook (11)

Link von Frank zum Thema Linux Desktop ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...