🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych
20 messages
20 total messages Started by Kacper Fri, 30 Dec 2016 15:44
MSSQL - parametryzowana nazwa pliku w widoku
#195152
Author: Kacper
Date: Fri, 30 Dec 2016 15:44
12 lines
1200 bytes
W widoku MSSQL występuje tabela zawierająca numer roku .
Przyjmijmy ,że ta tabela nosi nazwe dane2016.
W roku 2017 tabela bedzie nosic nazwę  dane2017 .
Jak w sparametryzować tę nazwę tabeli ?
np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo 
pole z tabeli roboczej zawierajacej numer roku
Tabela nr_roku pole rok zawartosc 2017.


Pomożcie proszę

Kacper
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195153
Author: geos
Date: Fri, 30 Dec 2016 16:21
15 lines
1614 bytes
On 30.12.2016 16:44, Kacper wrote:
> W widoku MSSQL występuje tabela zawierająca numer roku .
> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
> Jak w sparametryzować tę nazwę tabeli ?
> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
> pole z tabeli roboczej zawierajacej numer roku
> Tabela nr_roku pole rok zawartosc 2017.

chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie "rok". 
wtedy zapytania miałbyś w postaci: select * from tabela where 
rok=YEAR(getdate).

pozdrawiam,
geos
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195154
Author: Kacper
Date: Fri, 30 Dec 2016 17:24
26 lines
1933 bytes
W dniu 2016-12-30 o 17:21, geos pisze:
> On 30.12.2016 16:44, Kacper wrote:
>> W widoku MSSQL występuje tabela zawierająca numer roku .
>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>> Jak w sparametryzować tę nazwę tabeli ?
>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>> pole z tabeli roboczej zawierajacej numer roku
>> Tabela nr_roku pole rok zawartosc 2017.
>
> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie "rok".
> wtedy zapytania miałbyś w postaci: select * from tabela where
> rok=YEAR(getdate).
>
> pozdrawiam,
> geos



Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o 
nazwie dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety 
zrobił to producent aplikacji. W styczniu w tresci widoku
zamiast select * from dane2016 musze napisac select * from dane2017.
Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej sytuacji

Kacper
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195155
Author: artiun
Date: Fri, 30 Dec 2016 19:07
33 lines
2925 bytes
W dniu 2016-12-30 o 18:24, Kacper pisze:
> W dniu 2016-12-30 o 17:21, geos pisze:
>> On 30.12.2016 16:44, Kacper wrote:
>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>> Jak w sparametryzować tę nazwę tabeli ?
>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>> pole z tabeli roboczej zawierajacej numer roku
>>> Tabela nr_roku pole rok zawartosc 2017.
>>
>> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie "rok".
>> wtedy zapytania miałbyś w postaci: select * from tabela where
>> rok=YEAR(getdate).
>>
>> pozdrawiam,
>> geos
>
>
>
> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o nazwie
> dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety zrobił to
> producent aplikacji. W styczniu w tresci widoku
> zamiast select * from dane2016 musze napisac select * from dane2017.
> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej sytuacji
>
A to już dziwne. Jesteś pewien, że nie będzie ta 2016 tabelą historyczną? A 
ta 2017 nową czystą? Ewentualnie z bilansem otwarcia. Bo nie piszesz z 
jakiej to dziedziny. ... To tak jakbym psu co roku nadawał inne imię i 
spodziewał się, że to zrozumie.

-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195162
Author: artiun
Date: Fri, 30 Dec 2016 19:13
37 lines
2966 bytes
W dniu 2016-12-30 o 18:24, Kacper pisze:
> W dniu 2016-12-30 o 17:21, geos pisze:
>> On 30.12.2016 16:44, Kacper wrote:
>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>> Jak w sparametryzować tę nazwę tabeli ?
>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>> pole z tabeli roboczej zawierajacej numer roku
>>> Tabela nr_roku pole rok zawartosc 2017.
>>
>> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie "rok".
>> wtedy zapytania miałbyś w postaci: select * from tabela where
>> rok=YEAR(getdate).
>>
>> pozdrawiam,
>> geos
>
>
>
> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o nazwie
> dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety zrobił to
> producent aplikacji. W styczniu w tresci widoku
> zamiast select * from dane2016 musze napisac select * from dane2017.
> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej sytuacji
>

Jest to do zrobienia np. funkcją: select from fun()...
W tej fun() sklej sobie nazwę z year().
Taka konstrukcja może być używana by rekurencyjnie polecieć po bazie 
systemowej w celu poznania... Ale nie na produkcyjnej bazie???, no chyba, że 
się coś pozmieniało.
KTO TAK ZROBIŁ? FIRMA!!!


-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195163
Author: geos
Date: Fri, 30 Dec 2016 19:58
13 lines
1825 bytes
On 30.12.2016 18:24, Kacper wrote:
> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o
> nazwie dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety
> zrobił to producent aplikacji. W styczniu w tresci widoku
> zamiast select * from dane2016 musze napisac select * from dane2017.
> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej sytuacji
>
> Kacper

to może utwórz kilka synonimów do jednej tabeli, i nie zmieniaj jej 
nazwy. beðziesz miał aliasy dane2017, dane2018, dane2019..., które to 
aplikacja powinna "rozumieć" a Tobie przy okazji odpadnie kombinowanie z 
generowaniem nazwy tabeli podczas runtime zapytania..
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195156
Author: Kacper
Date: Fri, 30 Dec 2016 20:03
77 lines
3326 bytes
W dniu 2016-12-30 o 20:07, artiun pisze:
> W dniu 2016-12-30 o 18:24, Kacper pisze:
>> W dniu 2016-12-30 o 17:21, geos pisze:
>>> On 30.12.2016 16:44, Kacper wrote:
>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>> pole z tabeli roboczej zawierajacej numer roku
>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>
>>> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie "rok".
>>> wtedy zapytania miałbyś w postaci: select * from tabela where
>>> rok=YEAR(getdate).
>>>
>>> pozdrawiam,
>>> geos
>>
>>
>>
>> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o
>> nazwie
>> dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety
>> zrobił to
>> producent aplikacji. W styczniu w tresci widoku
>> zamiast select * from dane2016 musze napisac select * from dane2017.
>> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej sytuacji
>>
> A to już dziwne. Jesteś pewien, że nie będzie ta 2016 tabelą
> historyczną? A ta 2017 nową czystą? Ewentualnie z bilansem otwarcia. Bo
> nie piszesz z jakiej to dziedziny. ... To tak jakbym psu co roku nadawał
> inne imię i spodziewał się, że to zrozumie.
>


Firmy nie podam . Problem dotyczy rejestracji czasu pracy . W tabeli 
tabela z 2016 r bedzie tabelą  historyczną a tabela z 2017 r nowa i 
czysta (bedzie napełniana zdarzeniami od 1.01.2017 r)  . W Sylwestra 
zazwyczaj o 1.00 tworze nowy widok w ktorym edytorem zamieniam 2016 na 
2017 . To mnie irytuje . Chce wreszcie w Sylwestra zająć sie czymś innym 
. Oczywiście żartuje .

Napisałem funkcję ( ponizej tresc ) ale nie potrafie jej użyc w widoku .

select * from dbo.rcprrr NIE DZIAŁA !!!!

USE [accard]
GO

/****** Object:  UserDefinedFunction [dbo].[rcprrr]    Script Date: 
2016-12-30 20:56:43 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO



ALTER FUNCTION [dbo].[rcprrr]()
returns char(30)

as

begin
declare
@xxx char(4)

set @xxx = (select zz_rok from zz_accard_rok);
return '[accard].[dbo].[rcp'+@xxx+']';

end



GO
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195164
Author: Kacper
Date: Fri, 30 Dec 2016 20:09
17 lines
1855 bytes
W dniu 2016-12-30 o 20:58, geos pisze:
> On 30.12.2016 18:24, Kacper wrote:
>> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o
>> nazwie dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety
>> zrobił to producent aplikacji. W styczniu w tresci widoku
>> zamiast select * from dane2016 musze napisac select * from dane2017.
>> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej sytuacji
>>
>> Kacper
>
> to może utwórz kilka synonimów do jednej tabeli, i nie zmieniaj jej
> nazwy. beðziesz miał aliasy dane2017, dane2018, dane2019..., które to
> aplikacja powinna "rozumieć" a Tobie przy okazji odpadnie kombinowanie z
> generowaniem nazwy tabeli podczas runtime zapytania..

Możesz podac przykład zapisu takich synonimow w widoku .
Nie programuje czynnie w MSSQLu wiec nie rozumiem tej odpowiedzi
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195157
Author: artiun
Date: Fri, 30 Dec 2016 22:15
82 lines
4208 bytes
W dniu 2016-12-30 o 21:03, Kacper pisze:
> W dniu 2016-12-30 o 20:07, artiun pisze:
>> W dniu 2016-12-30 o 18:24, Kacper pisze:
>>> W dniu 2016-12-30 o 17:21, geos pisze:
>>>> On 30.12.2016 16:44, Kacper wrote:
>>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>>> pole z tabeli roboczej zawierajacej numer roku
>>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>
>>>> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie "rok".
>>>> wtedy zapytania miałbyś w postaci: select * from tabela where
>>>> rok=YEAR(getdate).
>>>>
>>>> pozdrawiam,
>>>> geos
>>>
>>>
>>>
>>> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o
>>> nazwie
>>> dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety
>>> zrobił to
>>> producent aplikacji. W styczniu w tresci widoku
>>> zamiast select * from dane2016 musze napisac select * from dane2017.
>>> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej sytuacji
>>>
>> A to już dziwne. Jesteś pewien, że nie będzie ta 2016 tabelą
>> historyczną? A ta 2017 nową czystą? Ewentualnie z bilansem otwarcia. Bo
>> nie piszesz z jakiej to dziedziny. ... To tak jakbym psu co roku nadawał
>> inne imię i spodziewał się, że to zrozumie.
>>
>
>
> Firmy nie podam . Problem dotyczy rejestracji czasu pracy . W tabeli tabela
> z 2016 r bedzie tabelą  historyczną a tabela z 2017 r nowa i czysta (bedzie
> napełniana zdarzeniami od 1.01.2017 r)  . W Sylwestra zazwyczaj o 1.00
> tworze nowy widok w ktorym edytorem zamieniam 2016 na 2017 . To mnie irytuje
> . Chce wreszcie w Sylwestra zająć sie czymś innym . Oczywiście żartuje .
>
Spodziewam się, że żartujesz przy RCP.

> Napisałem funkcję ( ponizej tresc ) ale nie potrafie jej użyc w widoku .
>
> select * from dbo.rcprrr NIE DZIAŁA !!!!
>
> USE [accard]
> GO
>
> /****** Object:  UserDefinedFunction [dbo].[rcprrr]    Script Date:
> 2016-12-30 20:56:43 ******/
> SET ANSI_NULLS ON
> GO
>
> SET QUOTED_IDENTIFIER ON
> GO
>
>
>
> ALTER FUNCTION [dbo].[rcprrr]()
> returns char(30)
>
> as
>
> begin
> declare
> @xxx char(4)
>
> set @xxx = (select zz_rok from zz_accard_rok);
> return '[accard].[dbo].[rcp'+@xxx+']';
>
> end
>
a puszczona z łapy co zwraca?
Przecież to f:


-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195159
Author: artiun
Date: Fri, 30 Dec 2016 22:26
55 lines
4082 bytes
W dniu 2016-12-30 o 21:03, Kacper pisze:
> W dniu 2016-12-30 o 20:07, artiun pisze:
>> W dniu 2016-12-30 o 18:24, Kacper pisze:
>>> W dniu 2016-12-30 o 17:21, geos pisze:
>>>> On 30.12.2016 16:44, Kacper wrote:
>>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>>> pole z tabeli roboczej zawierajacej numer roku
>>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>
>>>> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie "rok".
>>>> wtedy zapytania miałbyś w postaci: select * from tabela where
>>>> rok=YEAR(getdate).
>>>>
>>>> pozdrawiam,
>>>> geos
>>>
>>>
>>>
>>> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o
>>> nazwie
>>> dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety
>>> zrobił to
>>> producent aplikacji. W styczniu w tresci widoku
>>> zamiast select * from dane2016 musze napisac select * from dane2017.
>>> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej sytuacji
>>>
>> A to już dziwne. Jesteś pewien, że nie będzie ta 2016 tabelą
>> historyczną? A ta 2017 nową czystą? Ewentualnie z bilansem otwarcia. Bo
>> nie piszesz z jakiej to dziedziny. ... To tak jakbym psu co roku nadawał
>> inne imię i spodziewał się, że to zrozumie.
>>
>
>
> Firmy nie podam . Problem dotyczy rejestracji czasu pracy . W tabeli tabela
> z 2016 r bedzie tabelą  historyczną a tabela z 2017 r nowa i czysta (bedzie
> napełniana zdarzeniami od 1.01.2017 r)  . W Sylwestra zazwyczaj o 1.00
> tworze nowy widok w ktorym edytorem zamieniam 2016 na 2017 . To mnie irytuje
> . Chce wreszcie w Sylwestra zająć sie czymś innym . Oczywiście żartuje .
>
Jeśli piszesz to co piszesz jest prawdą. Moment - to znaczy, że na każdy rok 
zakładana jest nowa tabela (nie ma zmiany nazwy). Nie wiem, nie znam na tyle 
MySQL'a - ale jest to do zrobienia właśnie f: - Tylko nie tą metodą jaką 
podałeś.
Wpisz normalnie select - który zwróci ci cały człon nazwy (początkowy). 
Potem zrób select zwracający rok. Potem połącz to w jedno ze znakiem jaki 
chcesz. Na koniec zrób select z połączenia i zobacz co zwróci.
I wtedy obuduj to funkcją.


-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195165
Author: Adam
Date: Fri, 30 Dec 2016 22:43
28 lines
1472 bytes
W dniu 2016-12-30 o 16:44, Kacper pisze:
> W widoku MSSQL występuje tabela zawierająca numer roku .
> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
> Jak w sparametryzować tę nazwę tabeli ?
> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
> pole z tabeli roboczej zawierajacej numer roku
> Tabela nr_roku pole rok zawartosc 2017.
>
>
> Pomożcie proszę
>

A może coś w rodzaju:

declare @tabela
set @tabela = 'dane' + YEAR(getdate)
set @select = 'select * from' + @tabela

exec(@select)




-- 
Pozdrawiam.

Adam
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195166
Author: artiun
Date: Sat, 31 Dec 2016 01:10
29 lines
2369 bytes
W dniu 2016-12-30 o 23:43, Adam pisze:
> W dniu 2016-12-30 o 16:44, Kacper pisze:
>> W widoku MSSQL występuje tabela zawierająca numer roku .
>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>> Jak w sparametryzować tę nazwę tabeli ?
>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>> pole z tabeli roboczej zawierajacej numer roku
>> Tabela nr_roku pole rok zawartosc 2017.
>>
>>
>> Pomożcie proszę
>>
>
> A może coś w rodzaju:
>
> declare @tabela
> set @tabela = 'dane' + YEAR(getdate)
> set @select = 'select * from' + @tabela
>
> exec(@select)
>
Dla ratunku OK.
jest wsio ok. bez urazy, prosto i jasno (pomijam sprzedawanie nazw/tabel). 
KURWA nie rozumiem dlaczego i jak można tak robić.


-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195158
Author: Kacper
Date: Sat, 31 Dec 2016 09:07
91 lines
3946 bytes
W dniu 2016-12-30 o 23:15, artiun pisze:
> W dniu 2016-12-30 o 21:03, Kacper pisze:
>> W dniu 2016-12-30 o 20:07, artiun pisze:
>>> W dniu 2016-12-30 o 18:24, Kacper pisze:
>>>> W dniu 2016-12-30 o 17:21, geos pisze:
>>>>> On 30.12.2016 16:44, Kacper wrote:
>>>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>>>> pole z tabeli roboczej zawierajacej numer roku
>>>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>>
>>>>> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie
>>>>> "rok".
>>>>> wtedy zapytania miałbyś w postaci: select * from tabela where
>>>>> rok=YEAR(getdate).
>>>>>
>>>>> pozdrawiam,
>>>>> geos
>>>>
>>>>
>>>>
>>>> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą o
>>>> nazwie
>>>> dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety
>>>> zrobił to
>>>> producent aplikacji. W styczniu w tresci widoku
>>>> zamiast select * from dane2016 musze napisac select * from dane2017.
>>>> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej
>>>> sytuacji
>>>>
>>> A to już dziwne. Jesteś pewien, że nie będzie ta 2016 tabelą
>>> historyczną? A ta 2017 nową czystą? Ewentualnie z bilansem otwarcia. Bo
>>> nie piszesz z jakiej to dziedziny. ... To tak jakbym psu co roku nadawał
>>> inne imię i spodziewał się, że to zrozumie.
>>>
>>
>>
>> Firmy nie podam . Problem dotyczy rejestracji czasu pracy . W tabeli
>> tabela
>> z 2016 r bedzie tabelą  historyczną a tabela z 2017 r nowa i czysta
>> (bedzie
>> napełniana zdarzeniami od 1.01.2017 r)  . W Sylwestra zazwyczaj o 1.00
>> tworze nowy widok w ktorym edytorem zamieniam 2016 na 2017 . To mnie
>> irytuje
>> . Chce wreszcie w Sylwestra zająć sie czymś innym . Oczywiście żartuje .
>>
> Spodziewam się, że żartujesz przy RCP.
>
>> Napisałem funkcję ( ponizej tresc ) ale nie potrafie jej użyc w widoku .
>>
>> select * from dbo.rcprrr NIE DZIAŁA !!!!
>>
>> USE [accard]
>> GO
>>
>> /****** Object:  UserDefinedFunction [dbo].[rcprrr]    Script Date:
>> 2016-12-30 20:56:43 ******/
>> SET ANSI_NULLS ON
>> GO
>>
>> SET QUOTED_IDENTIFIER ON
>> GO
>>
>>
>>
>> ALTER FUNCTION [dbo].[rcprrr]()
>> returns char(30)
>>
>> as
>>
>> begin
>> declare
>> @xxx char(4)
>>
>> set @xxx = (select zz_rok from zz_accard_rok);
>> return '[accard].[dbo].[rcp'+@xxx+']';
>>
>> end
>>
> a puszczona z łapy co zwraca?
> Przecież to f:
>


> select dbo.rcprrr() zwraca [accard].[dbo].[rcp2016 ] .

   Po napisaniu zapytania select * from dbo.rcprrr() dostaje komunikat 
invalid object name dbo.rcprrr
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195160
Author: Kacper
Date: Sat, 31 Dec 2016 09:14
63 lines
3896 bytes
W dniu 2016-12-30 o 23:26, artiun pisze:
> W dniu 2016-12-30 o 21:03, Kacper pisze:
>> W dniu 2016-12-30 o 20:07, artiun pisze:
>>> W dniu 2016-12-30 o 18:24, Kacper pisze:
>>>> W dniu 2016-12-30 o 17:21, geos pisze:
>>>>> On 30.12.2016 16:44, Kacper wrote:
>>>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>>>> pole z tabeli roboczej zawierajacej numer roku
>>>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>>
>>>>> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie
>>>>> "rok".
>>>>> wtedy zapytania miałbyś w postaci: select * from tabela where
>>>>> rok=YEAR(getdate).
>>>>>
>>>>> pozdrawiam,
>>>>> geos
>>>>
>>>>
>>>>
>>>> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą oć
>>>> nazwie
>>>> dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety
>>>> zrobił to
>>>> producent aplikacji. W styczniu w tresci widoku
>>>> zamiast select * from dane2016 musze napisac select * from dane2017.
>>>> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej
>>>> sytuacji
>>>>
>>> A to już dziwne. Jesteś pewien, że nie będzie ta 2016 tabelą
>>> historyczną? A ta 2017 nową czystą? Ewentualnie z bilansem otwarcia. Bo
>>> nie piszesz z jakiej to dziedziny. ... To tak jakbym psu co roku nadawał
>>> inne imię i spodziewał się, że to zrozumie.
>>>
>>
>>
>> Firmy nie podam . Problem dotyczy rejestracji czasu pracy . W tabeli
>> tabela
>> z 2016 r bedzie tabelą  historyczną a tabela z 2017 r nowa i czysta
>> (bedzie
>> napełniana zdarzeniami od 1.01.2017 r)  . W Sylwestra zazwyczaj o 1.00
>> tworze nowy widok w ktorym edytorem zamieniam 2016 na 2017 . To mnie
>> irytuje
>> . Chce wreszcie w Sylwestra zająć sie czymś innym . Oczywiście żartuje .
>>
> Jeśli piszesz to co piszesz jest prawdą. Moment - to znaczy, że na każdy
> rok zakładana jest nowa tabela (nie ma zmiany nazwy). Nie wiem, nie znam
> na tyle MySQL'a - ale jest to do zrobienia właśnie f: - Tylko nie tą
> metodą jaką podałeś.
> Wpisz normalnie select - który zwróci ci cały człon nazwy (początkowy).
> Potem zrób select zwracający rok. Potem połącz to w jedno ze znakiem
> jaki chcesz. Na koniec zrób select z połączenia i zobacz co zwróci.
> I wtedy obuduj to funkcją.
>
>
To jest MSSQL . W widoku sa z tym problemy . Myśle ,ze uda mi sie to 
zrobic . Probowalem tez procedura stworzyc widok . Myśle ze cierpliwość
i upartość doprpwadzi do oczekiwanego rezultatu . Damy rade ......
Nie jest to aluzja do obecnej opcji politycznej
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195167
Author: Kacper
Date: Sat, 31 Dec 2016 09:16
29 lines
1896 bytes
W dniu 2016-12-31 o 02:10, artiun pisze:
> W dniu 2016-12-30 o 23:43, Adam pisze:
>> W dniu 2016-12-30 o 16:44, Kacper pisze:
>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>> Jak w sparametryzować tę nazwę tabeli ?
>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>> pole z tabeli roboczej zawierajacej numer roku
>>> Tabela nr_roku pole rok zawartosc 2017.
>>>
>>>
>>> Pomożcie proszę
>>>
>>
>> A może coś w rodzaju:
>>
>> declare @tabela
>> set @tabela = 'dane' + YEAR(getdate)
>> set @select = 'select * from' + @tabela
>>
>> exec(@select)
>>
> Dla ratunku OK.
> jest wsio ok. bez urazy, prosto i jasno (pomijam sprzedawanie
> nazw/tabel). KURWA nie rozumiem dlaczego i jak można tak robić.
>
>
Problem w tym ,że takiej konstrukcji nie można użyć w widoku
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195161
Author: artiun
Date: Sat, 31 Dec 2016 17:08
71 lines
4855 bytes
W dniu 2016-12-31 o 10:14, Kacper pisze:
> W dniu 2016-12-30 o 23:26, artiun pisze:
>> W dniu 2016-12-30 o 21:03, Kacper pisze:
>>> W dniu 2016-12-30 o 20:07, artiun pisze:
>>>> W dniu 2016-12-30 o 18:24, Kacper pisze:
>>>>> W dniu 2016-12-30 o 17:21, geos pisze:
>>>>>> On 30.12.2016 16:44, Kacper wrote:
>>>>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>>>>> pole z tabeli roboczej zawierajacej numer roku
>>>>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>>>
>>>>>> chyba lepiej będzie jak zrobisz tabelę partycjonowaną po kolumnie
>>>>>> "rok".
>>>>>> wtedy zapytania miałbyś w postaci: select * from tabela where
>>>>>> rok=YEAR(getdate).
>>>>>>
>>>>>> pozdrawiam,
>>>>>> geos
>>>>>
>>>>>
>>>>>
>>>>> Moze źle opisałem problem . Niestety tabela jest w tym roku tabelą oć
>>>>> nazwie
>>>>> dane2016 a od stycznia bedzie nazywac sie dane2017 . Tak niestety
>>>>> zrobił to
>>>>> producent aplikacji. W styczniu w tresci widoku
>>>>> zamiast select * from dane2016 musze napisac select * from dane2017.
>>>>> Chcialbym napisac widok uniwersalnie a nie pilnować co roku tej
>>>>> sytuacji
>>>>>
>>>> A to już dziwne. Jesteś pewien, że nie będzie ta 2016 tabelą
>>>> historyczną? A ta 2017 nową czystą? Ewentualnie z bilansem otwarcia. Bo
>>>> nie piszesz z jakiej to dziedziny. ... To tak jakbym psu co roku nadawał
>>>> inne imię i spodziewał się, że to zrozumie.
>>>>
>>>
>>>
>>> Firmy nie podam . Problem dotyczy rejestracji czasu pracy . W tabeli
>>> tabela
>>> z 2016 r bedzie tabelą  historyczną a tabela z 2017 r nowa i czysta
>>> (bedzie
>>> napełniana zdarzeniami od 1.01.2017 r)  . W Sylwestra zazwyczaj o 1.00
>>> tworze nowy widok w ktorym edytorem zamieniam 2016 na 2017 . To mnie
>>> irytuje
>>> . Chce wreszcie w Sylwestra zająć sie czymś innym . Oczywiście żartuje .
>>>
>> Jeśli piszesz to co piszesz jest prawdą. Moment - to znaczy, że na każdy
>> rok zakładana jest nowa tabela (nie ma zmiany nazwy). Nie wiem, nie znam
>> na tyle MySQL'a - ale jest to do zrobienia właśnie f: - Tylko nie tą
>> metodą jaką podałeś.
>> Wpisz normalnie select - który zwróci ci cały człon nazwy (początkowy).
>> Potem zrób select zwracający rok. Potem połącz to w jedno ze znakiem
>> jaki chcesz. Na koniec zrób select z połączenia i zobacz co zwróci.
>> I wtedy obuduj to funkcją.
>>
>>
> To jest MSSQL . W widoku sa z tym problemy . Myśle ,ze uda mi sie to zrobic
> . Probowalem tez procedura stworzyc widok . Myśle ze cierpliwość
> i upartość doprpwadzi do oczekiwanego rezultatu . Damy rade ......
> Nie jest to aluzja do obecnej opcji politycznej
OK. Różnica jest zasadnicza - f: i procedura. F: coś zwraca. procedura coś 
robi. Wiem - pomyliłem się w nazwie bazy. Nie powinno to robić różnicy. 
Jeszcze raz przeppraszam.


-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195168
Author: artiun
Date: Sat, 31 Dec 2016 17:10
37 lines
2702 bytes
W dniu 2016-12-31 o 10:16, Kacper pisze:
> W dniu 2016-12-31 o 02:10, artiun pisze:
>> W dniu 2016-12-30 o 23:43, Adam pisze:
>>> W dniu 2016-12-30 o 16:44, Kacper pisze:
>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>> pole z tabeli roboczej zawierajacej numer roku
>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>
>>>>
>>>> Pomożcie proszę
>>>>
>>>
>>> A może coś w rodzaju:
>>>
>>> declare @tabela
>>> set @tabela = 'dane' + YEAR(getdate)
>>> set @select = 'select * from' + @tabela
>>>
>>> exec(@select)
>>>
>> Dla ratunku OK.
>> jest wsio ok. bez urazy, prosto i jasno (pomijam sprzedawanie
>> nazw/tabel). KURWA nie rozumiem dlaczego i jak można tak robić.
>>
>>
> Problem w tym ,że takiej konstrukcji nie można użyć w widoku
To jest uproszczenie
i dobre
kombinuj, po to niby macie szkoły :)))))


-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195169
Author: artiun
Date: Sat, 31 Dec 2016 17:11
34 lines
2667 bytes
W dniu 2016-12-31 o 10:16, Kacper pisze:
> W dniu 2016-12-31 o 02:10, artiun pisze:
>> W dniu 2016-12-30 o 23:43, Adam pisze:
>>> W dniu 2016-12-30 o 16:44, Kacper pisze:
>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>> pole z tabeli roboczej zawierajacej numer roku
>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>
>>>>
>>>> Pomożcie proszę
>>>>
>>>
>>> A może coś w rodzaju:
>>>
>>> declare @tabela
>>> set @tabela = 'dane' + YEAR(getdate)
>>> set @select = 'select * from' + @tabela
>>>
>>> exec(@select)
>>>
>> Dla ratunku OK.
>> jest wsio ok. bez urazy, prosto i jasno (pomijam sprzedawanie
>> nazw/tabel). KURWA nie rozumiem dlaczego i jak można tak robić.
>>
>>
> Problem w tym ,że takiej konstrukcji nie można użyć w widoku
albo myślisz, albo nie

-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195170
Author: artiun
Date: Sat, 31 Dec 2016 17:18
35 lines
2715 bytes
W dniu 2016-12-31 o 10:16, Kacper pisze:
> W dniu 2016-12-31 o 02:10, artiun pisze:
>> W dniu 2016-12-30 o 23:43, Adam pisze:
>>> W dniu 2016-12-30 o 16:44, Kacper pisze:
>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>> pole z tabeli roboczej zawierajacej numer roku
>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>
>>>>
>>>> Pomożcie proszę
>>>>
>>>
>>> A może coś w rodzaju:
>>>
>>> declare @tabela
>>> set @tabela = 'dane' + YEAR(getdate)
>>> set @select = 'select * from' + @tabela
>>>
>>> exec(@select)
>>>
>> Dla ratunku OK.
>> jest wsio ok. bez urazy, prosto i jasno (pomijam sprzedawanie
>> nazw/tabel). KURWA nie rozumiem dlaczego i jak można tak robić.
>>
>>
> Problem w tym ,że takiej konstrukcji nie można użyć w widoku
bo? widzę - napisz sam dlaczego?


-- 
Artur
Re: MSSQL - parametryzowana nazwa pliku w widoku
#195171
Author: Kacper
Date: Sat, 31 Dec 2016 20:21
53 lines
2902 bytes
W dniu 2016-12-31 o 18:18, artiun pisze:
> W dniu 2016-12-31 o 10:16, Kacper pisze:
>> W dniu 2016-12-31 o 02:10, artiun pisze:
>>> W dniu 2016-12-30 o 23:43, Adam pisze:
>>>> W dniu 2016-12-30 o 16:44, Kacper pisze:
>>>>> W widoku MSSQL występuje tabela zawierająca numer roku .
>>>>> Przyjmijmy ,że ta tabela nosi nazwe dane2016.
>>>>> W roku 2017 tabela bedzie nosic nazwę  dane2017 .
>>>>> Jak w sparametryzować tę nazwę tabeli ?
>>>>> np select * from daneRRRR gdzie RRRR to byłoby np YEAR(getdate) albo
>>>>> pole z tabeli roboczej zawierajacej numer roku
>>>>> Tabela nr_roku pole rok zawartosc 2017.
>>>>>
>>>>>
>>>>> Pomożcie proszę
>>>>>
>>>>
>>>> A może coś w rodzaju:
>>>>
>>>> declare @tabela
>>>> set @tabela = 'dane' + YEAR(getdate)
>>>> set @select = 'select * from' + @tabela
>>>>
>>>> exec(@select)
>>>>
>>> Dla ratunku OK.
>>> jest wsio ok. bez urazy, prosto i jasno (pomijam sprzedawanie
>>> nazw/tabel). KURWA nie rozumiem dlaczego i jak można tak robić.
>>>
>>>
>> Problem w tym ,że takiej konstrukcji nie można użyć w widoku
> bo? widzę - napisz sam dlaczego?
>
>

Dziękuję Wam za gotowość wsparcia mnie w zagadnieniu o które Was prosiłem .
Zależało mi aby ta czynność tworzenia widoku wykonywała się 
automatycznie z początkiem Nowego Roku
I abym nie musiał „siedzieć trzeźwy „ do północy bo muszę przestawić 
widok na nowy rok.
Udało mi to się .  Wykorzystałem procedurę do tworzenia treści widoku 
oraz sqlcmd ( bo nie mam uprawnień do definiowania jobow na bazie ).
Była żmudna dłubaninka i testowanie . Dla mnie była ważna chęć pomocy mi 
z Waszej Strony którą odczuwałem
a z mojej strony ….. upartość i konsekwencja .

W Nowym Roku życzę Wam ….. tej upartości konsekwencji.

To daje dużą radość i power .

Pozdrawiam

Kacper
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads