Forum » Programiranje » SQL uporaba imena spremenljivke stringu
SQL uporaba imena spremenljivke stringu
klemenSLO ::
Z SQL sestavljam eno procedurco, katera mi zapiše txt datoteko na disk.
To datoteko prebere nicelabel in jo pošlje v tisk.
V tej datoteki imam spremenljivke in njihove vrednosti.
Večina spremeniljivk zgleda takole v tej datoteki takole:
...
SET naslov = "cesta a"
SET naziv = "test"
SET kolicina = "123"
....
Problem ki ga ne znam rešiti z SQL:
Rad bi dosegel da nastavim vrednost za spremenljivko s pomočjo funkcije
primer:
select @naslov = dbo.funkcija('cesta a')
select @naslov bi mi moralo vrniti string 'SET naslov = "cesta a"'
Vsebinsko to pomeni da uporabim poleg vrednosti spremenljivke tudi njeno IME.
V kakem drugem programskem jeziku bi se to dalo enostavno rešiti v stilu klicanja 'spremenljivka.name'
upam da sem dovolj nazorno zapisal.
To datoteko prebere nicelabel in jo pošlje v tisk.
V tej datoteki imam spremenljivke in njihove vrednosti.
Večina spremeniljivk zgleda takole v tej datoteki takole:
...
SET naslov = "cesta a"
SET naziv = "test"
SET kolicina = "123"
....
Problem ki ga ne znam rešiti z SQL:
Rad bi dosegel da nastavim vrednost za spremenljivko s pomočjo funkcije
primer:
select @naslov = dbo.funkcija('cesta a')
select @naslov bi mi moralo vrniti string 'SET naslov = "cesta a"'
Vsebinsko to pomeni da uporabim poleg vrednosti spremenljivke tudi njeno IME.
V kakem drugem programskem jeziku bi se to dalo enostavno rešiti v stilu klicanja 'spremenljivka.name'
upam da sem dovolj nazorno zapisal.
Life is not measured in minutes, but in MOMENTS...
Looooooka ::
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetStreet]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[GetStreet]
GO
CREATE FUNCTION GetStreet
(
@StreetName nvarchar(1000)
)
RETURNS nvarchar(1000)
AS
BEGIN
RETURN @StreetName
END
GO
DECLARE @Name nvarchar(1000)
SET @Name = [dbo].[GetStreet] ('Test Street')
SELECT @Name
GO
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetStreet]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[GetStreet]
GO
CREATE FUNCTION GetStreet
(
@StreetName nvarchar(1000)
)
RETURNS nvarchar(1000)
AS
BEGIN
RETURN @StreetName
END
GO
DECLARE @Name nvarchar(1000)
SET @Name = [dbo].[GetStreet] ('Test Street')
SELECT @Name
GO
Zgodovina sprememb…
- spremenilo: Looooooka ()
klemenSLO ::
Loooooka:
Če poženeš
DECLARE @Name nvarchar(1000)
SET @Name = [dbo].[GetStreet] ('Test Street')
SELECT @Name
vrne select @name:
'Test Street'
Želim pa da vrne še IME spremenljivke zraven. V zgornjem primeru je spremenljivka poimenovana @NAME.
Željeni rezultat je: 'Name Test Street'
Če poženeš
DECLARE @Name nvarchar(1000)
SET @Name = [dbo].[GetStreet] ('Test Street')
SELECT @Name
vrne select @name:
'Test Street'
Želim pa da vrne še IME spremenljivke zraven. V zgornjem primeru je spremenljivka poimenovana @NAME.
Željeni rezultat je: 'Name Test Street'
Life is not measured in minutes, but in MOMENTS...
Zgodovina sprememb…
- spremenil: klemenSLO ()
Spura ::
V kakem drugem programskem jeziku bi se to dalo enostavno rešiti v stilu klicanja 'spremenljivka.name'
Yeah... no. V vecini jezikov tega ni.
Looooooka ::
Tole bo pomojem skoraj nemogoce.Rajsi napisi zakaj to rabis...in zakaj lepo ne dodas texta sam ?
select 'Name ' + @Name ?
select 'Name ' + @Name ?
Zgodovina sprememb…
- spremenilo: Looooooka ()
klemenSLO ::
zato ker mam kar nekaj spremenljivk in se mi je zdelo primernejše in preglednejše če lahko spakiram vse skupaj v funkcijo in jo kličem.
Life is not measured in minutes, but in MOMENTS...
Looooooka ::
cist tko...ce ta funkcija dela samo to da doda spredi "SET imespremenljivke vrednost" na podlagi podane vrednosti...je sploh skoda delat tako funkcijo
ker tko al tko bos iz nekje "vrednost" moral dobil in te nic ne stane da ze tam kjer ves ime spremenljivke ki bi ji vrednost rad nastavil lepo skupaj sestavis zeljen string.
ce bo funkcija pocela se kaj drugega in na koncu vrnila ta "SET imespremenljivke vrednost" string...potem je pac edino logicno da naredis funkcijo z 2 parametroma.V prvega das ime spremenljivke v drugega vrednost.
Funkcija ti pac ne bo mogla ugotavljati imena spremenljivke.
ker tko al tko bos iz nekje "vrednost" moral dobil in te nic ne stane da ze tam kjer ves ime spremenljivke ki bi ji vrednost rad nastavil lepo skupaj sestavis zeljen string.
ce bo funkcija pocela se kaj drugega in na koncu vrnila ta "SET imespremenljivke vrednost" string...potem je pac edino logicno da naredis funkcijo z 2 parametroma.V prvega das ime spremenljivke v drugega vrednost.
Funkcija ti pac ne bo mogla ugotavljati imena spremenljivke.
BlueKnight ::
se strinjam z loooka, tega kar ti misliš da potrebuješ dejansko ne rabiš in razen na faxu pri prologu tega tudi nisem potreboval v nobenem drugem jeziku.
Poskušaj še enkrat razčistiti, kaj dejansko moraš narediti in se loti problema na drugem koncu.
Poskušaj še enkrat razčistiti, kaj dejansko moraš narediti in se loti problema na drugem koncu.
Assumption is the mother of all fuckups!
"Under Siege 2:Dark Territory"
"Under Siege 2:Dark Territory"
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [PHP]Zajem podatkov iz bazeOddelek: Programiranje | 4033 (3670) | cobrica |
» | PHP in objektno programiranje (strani: 1 2 )Oddelek: Programiranje | 12063 (10530) | kivi113 |
» | SQL težavaOddelek: Programiranje | 5147 (4429) | joseti |
» | Vprašanje za SQL poznavalceOddelek: Programiranje | 1224 (1049) | zdravc |
» | Težava pri SQL stavku z neznanim stolpcemOddelek: Programiranje | 1159 (1043) | destiny |