Search the Community
Showing results for tags 'Postgre'.
-
Sveicināti. Priekšvārds/galvenā problēma Ar datu bāzēm es sāku strādāt vakar pēc vairāk nekā pusotra gada pauzes. Bet nav cita cilvēka, kas to tagad varētu izdarīt un man nesanāca atrast gatavu risināju tam, ko man vajag. Problēma Man nepieciešams uzrakstīt pgScript funkciju, kas tiks automātiski palaista reizi mēnesī, izveidos tabulu ar sintaksi DATI_GADS_MĒNESIS un pārnesīs datus no citas datu bāzes šajā. T.i. katru mēnesi man tiks iztukšota izmantojamā datubāze un iepriekšējā mēneša dati tiks glabāti atsevišķā tabulā. Piemēram tam ir jāizskatās šādi: CURR_DATA DATA_2012_01 DATA_2011_12 DATA_2011_11 DATA_2011_10 Pašlaik tas, kas man ir izskatās šādi: DECLARE @T, @M, @Y; -- Variable names begin with a @ SET @M = '01'; SET @Y = '2012'; SET @T = 'DATA_' + CAST (@Y AS STRING) + '_' + CAST (@M AS STRING); CREATE TABLE @T (uid integer primary key, uname character varying[255]); Jā - @M un @Y ierakstās ar roku. Jautājums Kā panākt, lai mainīgie @M un @Y tiktu automātiski ņemti no tekošā(iepriekšējā) gada/mēneša? Tā, nolēmu šo visu veikt nevis SQL komandā, bet iznest uz batņiku. Taga jautājums ir tāds, kā pielikt komandai *.bat variablu? Man vajag lai ir kaut-kas līdzīgs šim: @echo off set var=%DATE:~-4% "C:\PostgreSQL\9.1\bin\psql.exe" -c "CREATE TABLE " %var% " (uid integer primary key, uname character varying);" -h localhost -U postgres -d postgres -p 5432 echo pause = Tam būtu jāizveido tabulu kuras nosaukums ir tekošais gads. Bet šitā variablu ievietot nevar. Kādi vēl ir varianti?