Keresés

Új hozzászólás Aktív témák

  • kem
    addikt

    miért nem veszed ki teljesen a row format utasítást?
    első ránézésre az a baja, hogy nem ismer olyan sor formátumot, hogy comment.
    szerintem ezt:
    sed 's/ROW_FORMAT=COMPRESSED/ROW_FORMAT=/g'
    írd át erre:
    sed 's/ROW_FORMAT=COMPRESSED//g'

    Koszonom szepen ez volt a gond. Pont most ajanlotta egyik kollega is ugyanezt. Ezek szerint ures ertekkel nem lehet betolteni mert a kovetkezot nem tudja akkor ertelmezni? Most atallitottam DYNAMIC-ra egy teszt miatt de elkezdte betolteni vegulis.

  • kem
    addikt

    Sziasztok!

    Szeretnek importalni egy SQL dumpot AWS Aurora-MyAQL DB-be:
    source dump: 5.7.26
    linux agent: mysql Ver 14.14 Distrib 5.7.30
    target rds: 5.7.mysql_aurora.2.08.1

    Amikor importalni probalom, ezt a hibauzenetet kaupjuk:
    ERROR 1064 (42000) at line 25: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COMMENT='Stored indicator calculations'' at line 14

    A dump erre vonatkozo szakasza:

    -- MySQL dump 10.13  Distrib 5.7.26, for Linux (x86_64)
    --
    -- Host: localhost    Database: <removed>
    -- ------------------------------------------------------
    -- Server version 5.7.26-enterprise-commercial-advanced-log
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE='+00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    --
    -- Table structure for table `<removed>`
    --
    DROP TABLE IF EXISTS `<removed>`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `<removed>` (
      `id` bigint(10) NOT NULL AUTO_INCREMENT,
      `starttime` bigint(10) NOT NULL,
      `endtime` bigint(10) NOT NULL,
      `contextid` bigint(10) NOT NULL,
      `sampleorigin` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
      `sampleid` bigint(10) NOT NULL,
      `indicator` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
      `value` decimal(10,2) DEFAULT NULL,
      `timecreated` bigint(10) NOT NULL,
      PRIMARY KEY (`id`),
      KEY `<removed>_staendcon_ix` (`starttime`,`endtime`,`contextid`),
      KEY `<removed>_con_ix` (`contextid`)
    ) ENGINE=InnoDB AUTO_INCREMENT=54076 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPRESSED COMMENT='Stored indicator calculations';
    /*!40101 SET character_set_client = @saved_cs_client */;

    Ez pedig a parancs amivel probaljuk importalni.
    Korabban a heten mukodott a dump elozo verziojaval ami 10x ekkora volt mert tele volt logokkal.

    cat dbdump.sql | sed 's/ROW_FORMAT=COMPRESSED/ROW_FORMAT=/g' | sed 's/user_b/user_a/g' | time  mysql -p -h aurora-mysql-cluster.cluster-<removed>.eu-east-x.rds.amazonaws.com -u user_a dbname --max-allowed-packet=1073741824

    A DBt pedig ezzel krealtam:
    CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_unicode_ci;

    Probalunk rajonni mi lehet a baj, de minden jonak tunik szintaktikailag.
    A dump 26GB.

    Elore is koszonok barmilyen otletet.

    szerk: elnezesd de akarhogy szerkesztem szanaszet hullik a formazas :(

  • kem
    addikt

    Sziasztok!

    RDS MySQL 5.7-et probalok migralni epp titkositott RDS-re, es a kovetkezo ket problemaba futottam:
    longtest and mediumtext partially-supported. Fogalmam sincs, hogy ez mit jelent. Gondolom bizonyos mezo tul nagy a migraciot vegzo alkalmazasnak (ASW DMS). Valaki ismer erre valamilyen mogoldast illetve dolgoztatok mar Amazon Database Migration Service-el? Esetleg mas migracio kozben kitalalt megoldas is erdekelhet, gondolom van akinek ez rogton ismeros.

    Elore is koszonom a valaszokat!

  • kem
    addikt

    Semmi extra, készít egy tömeges SQL-t,amit neked kell lefuttatni, sok ALTER TABLE [séma.táblanév] FORCE; sort fogsz kapni. Azon táblákra, amelyekben van time, timestamp, vagy datetime típusú mező. InnoDB-s perzisztens táblákra vonatkozik, nyugodtan le lehet futtatni a query-t, max nem kapsz semmit vissza.

    szuper, koszonom szepen! mindjart ra is kuldom a tesztrendszerre.

  • kem
    addikt

    Sziasztok!

    Meg mindig nem vagyok valami nagy DBA de ugy tunik a jelenlegi feladatom kicsit segiteni fog ebben :) RDS MySQL 5.6-ot frissitunk 5.7-re, es az Amazon szerint az uzemkiesest drasztikusan le lehet csokkenteni ha a kovetkezo alteraciot vegigtolom az adatbazisokon. A gond csak annyi, hogy nekem ez nagyon magas. Ha valaki csinalta mar vagy erti mirol van szo es nem banja kifejthetne nekem :) Elore is koszonom a valaszokat!

    Upgrades to MySQL Version 5.7 Might Be Slow:
    MySQL version 5.6.4 introduced a new date and time format for the datetime, time, and timestamp columns that allows fractional components in date and time values. When upgrading a DB instance to MySQL version 5.7, MySQL forces the conversion of all date and time column types to the new format.

    ...
    To find all tables in your database that have datetime, time, or timestamp columns and create an ALTER TABLE <table_name> FORCE; command for each table, use the following query.

    Query:
    SELECT DISTINCT CONCAT('ALTER TABLE `',
    REPLACE(is_tables.TABLE_SCHEMA, '`', '``'), '`.`',
    REPLACE(is_tables.TABLE_NAME, '`', '``'), '` FORCE;')
    FROM information_schema.TABLES is_tables
    INNER JOIN information_schema.COLUMNS col ON col.TABLE_SCHEMA = is_tables.TABLE_SCHEMA
    AND col.TABLE_NAME = is_tables.TABLE_NAME
    LEFT OUTER JOIN information_schema.INNODB_SYS_TABLES systables ON
    SUBSTRING_INDEX(systables.NAME, '#', 1) = CONCAT(is_tables.TABLE_SCHEMA,'/',is_tables.TABLE_NAME)
    LEFT OUTER JOIN information_schema.INNODB_SYS_COLUMNS syscolumns ON
    syscolumns.TABLE_ID = systables.TABLE_ID AND syscolumns.NAME = col.COLUMN_NAME
    WHERE col.COLUMN_TYPE IN ('time','timestamp','datetime')
    AND is_tables.TABLE_TYPE = 'BASE TABLE'
    AND is_tables.TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema')
    AND (is_tables.ENGINE = 'InnoDB' AND syscolumns.MTYPE = 6);

    Forras

    :R :R :R

  • kem
    addikt

    Nem értek a TimesTenhez, szóval csak belemakogok, de ez a rész

    and
    srk.DOMAIN_RESOLVE_KEY_UID = (
    select drk."UID" from DOMAIN_RESOLVE_KEY drk
    where drk.ID like 'guestPIN');

    miért nem join-ként van definiálva?

    Illetve itt a like-hoz nem kell %-jel vagy valami? Alapból benne keres? Vagy itt csak azokra vagy kiváncsi, ahol guestPIN, akkor meg minek a like, miért nem simán =?

    Koszonom a valaszokat megprobalok valaszolni mindegyikre:

    Ketto fele Subscription van. az egyikhez van pin rendelve a masikhoz meg csak teloszam. Ebbol csak az egyik variacioval kell foglalkoznunk azert szurjuk ezt itt. Atirom =re koszonom.

    #3856 sztanozs:
    ez alapján kellene excludolnia?
    Igen ez az utolso filter amivel az osszes subscriptionbol kivonom azokat ahol deffinialva van a parameter. az erteke mindegy a lenyeg, hogy lehessen valtoztatni. Egyebkent ahol nincs deffinialva ott amutomatikusan orokli es mivel a hierarhiat kell valtoztatnom a nagyobb feladat soran ezert kell mindenkeppen fixalni ezen a szinten az ertekeket. Viszont ha nincs deffinialva akkor nem tudom atallitani.
    itt egyenlőségjel helyett nem IN kellene?
    Nem. Itt csak 1 ertekre van szuksegunk es azzal szurni.

    Kozben a tobbiek arra gondolnak, hogy valoszinuleg a tul nagy adathalmaz miatt kifut a memoriabol az egyebkent is memoriaban futo adatbazik csak valamiert ezt nem reportalja az OS logba vagy a Timesten logba szoval ez a kovetkezo dolog aminek utana nezek.

    szerk:

    Mrgvan a megoldas. a CREATE VIEW-ban kicsereltem a LIKE-ot =ra
    create view waitRoomEnabled as
    select s."UID" as SUBSCRIPTION_UID
    from subscription s
    join subscription_attribute sa on s."UID" = sa.SUBSCRIPTION_UID
    join account a on s.OWNING_ACCOUNT_UID = a."UID"
    join domain_parameter dp on sa.DOMAIN_PARAMETER_UID = dp."UID"
    where dp.ID = 'waitRoomEnabled'
    ;

  • kem
    addikt

    Sry előre ha fura a kérdés, de left OUTER join és az exclude hogyan említhető egyszerre? Amikor utoljára ORA-ztam, az outer join pont az ellentéte volt, teljes megőrzés a bal táblára.

    Azt sem értem, hogy miért kell a vonatkozó mezőn ott a null filter, de emögött biztos van szándék.

    Koszi a valaszt. Nekem az SQL meg elegge uj ezt is segitseggel raktam ossze kollegaval aki mar elment nyugdijba. Az adatbazis eleg komplikalt (legalabb is nekem :D ) A feladat pedig az, hogy a waitRoomEnabled view-kent letrejovo tablaban talalhato subscription-oket kell megkulmboztetni azoktol az osszes subscription-tol ahol ez a waitRoomEnabled parameter nincsen definialva, igy annak erteket nem lehet megvaltoztatni. Ezert valasztjuk ki az is null erteket, tehat balra azt tartjuk meg ahol az nincsen definialva. Ez eddig mukodott mindegyik rendszeren de most azt latom, hogy nehol forditva mukodik mint ahogy eddig es 0 erteket ad. Az uj modszer pedig megmutatja, hogy majdnem 400.000 ilyen Subscription wan ebben az adathalmazban. Ez egyebkent egy 1 evvel ez elotti feladat amiben ezek az SQL-ek nem megfeleloen futottak le es probalom kideriteni miert. altalaban 3 illetve 6-bol egyszer nem futott le rendesen. Mindenhol ugyan ez a waitRoomEnabled parameter.

  • kem
    addikt

    Sziasztok!

    TimesTen DB-ben kuzdok egy queryvel ami valamiert egy fele parameternel forditva fut le, igy a left outer join nem excludal adatokat, hanem pont az ellenkezo oldalt mutatja meg(amit ki kene vonni)

    Rakukkantana valaki?

    select count(s.id)
    from subscription s
    join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
    join account a on s.OWNING_ACCOUNT_UID = a."UID"
    left outer join waitRoomEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
    where
    ml.SUBSCRIPTION_UID is null
    and
    srk.DOMAIN_RESOLVE_KEY_UID = (
    select drk."UID" from DOMAIN_RESOLVE_KEY drk
    where drk.ID like 'guestPIN');

  • kem
    addikt

    Ezt nem tudom sajnos. Viszont most hogy mukosik, mar csak az UPDATE-t kellene vele osszekombinalni.

    UPDATE FIRST 1 subscription_attribute sa
    set sa.VALUE = REPLACE( sa.value, 'OldValue','NewValue' )
    where
    blah blah

    Ezt ki is probaltam, ugy tunik mukodik :)

    Ez a FIRST egyebkent a tabla elso n sorat veszi figyelembe vagy pedig a where klauzakat feldolgozva az eredmenybol az elso n szamu sort?

  • kem
    addikt

    nincs union a query-ben?

    Ezt nem tudom sajnos. Viszont most hogy mukosik, mar csak az UPDATE-t kellene vele osszekombinalni.

    UPDATE FIRST 1 subscription_attribute sa
    set sa.VALUE = REPLACE( sa.value, 'OldValue','NewValue' )
    where
    blah blah

    Ezt ki is probaltam, ugy tunik mukodik :)

  • kem
    addikt

    Pedig van ROWNUM, mennie is kellene.

    ROWNUM

    Lehet olyat is mondani, hogy SELECT FIRST 200 ... SELECT

    A SELECT FIRST 200 mukodott koszonom! :R :R :R

    #3734 sztanozs:
    Csak ennyit ad vissza akarhogy probaltam a LIMIT-et:
    Syntax error in SQL statement before or at: "LIMIT",

  • kem
    addikt

    Sziasztok ismet!

    TimesTen DB-ben szeretnem limitalni a sorok szamat amit kiir egy SQL Query. Valakinek van erre otlete? Se a LIMIT 200; se a ROWNUM <= 200; nem mukodik.

    Elore is koszonom a valaszokat!

    kem

  • kem
    addikt

    Sziasztok!

    Ismet egy kis segitsegre lenne szuksegem TimesTen adatbazissal kapcsolatban, Van nekem egy nyakatekert SQL querym aminek az eredmenyet szeretnem insertalni egy tablaba, a kovetkezo keppen:

    INSERT INTO subscription_attribute VALUES(<ide szeretnem belistazni a kovetkezo kimenetet>, 167463909189556, 1, '<null/>');

    select s."UID"
    from subscription s
    join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
    join account a on s.OWNING_ACCOUNT_UID = a."UID"
    left outer join boostGainEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
    where
    ml.SUBSCRIPTION_UID is null
    and srk.DOMAIN_RESOLVE_KEY_UID = (
    select drk."UID" from DOMAIN_RESOLVE_KEY drk
    where drk.ID like 'guestPIN')
    and a.id like '%xy007%'
    and s.id like '%xy%'
    order by s."UID";

    A boostGainEnabled egy view-t takar, amit igy hoztam letre:
    create view boostGainEnabled as
    select s."UID" as SUBSCRIPTION_UID
    from subscription s
    join subscription_attribute sa on s."UID" = sa.SUBSCRIPTION_UID
    join account a on s.OWNING_ACCOUNT_UID = a."UID"
    join domain_parameter dp on sa.DOMAIN_PARAMETER_UID = dp."UID"
    where dp.ID like 'boostGainEnabled';

    Szoval a kerdesem az lenne, hogy hogyan agyazok be az INSERT-em egyik Value helyere egy subqueryt?

    Elore is koszonom szepen a segitseget!
    :R :R :R

    Sikerult felig.
    INSERT INTO subscription_attribute
    select
    s."UID", 167463909189556, 1, '<null/>'
    from subscription s
    join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
    join account a on s.OWNING_ACCOUNT_UID = a."UID"
    left outer join boostGainEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
    where
    ml.SUBSCRIPTION_UID is null
    and srk.DOMAIN_RESOLVE_KEY_UID = (
    select drk."UID" from DOMAIN_RESOLVE_KEY drk
    where drk.ID like 'guestPIN')
    and a.id like '%xy007%'
    and s.id like '%xy%'
    order by s."UID";

    Most mar csak azt szeretnem, ha a 167463909189556 helyett tudnam hasznalni a parameter nevet. Erre egy masikat irtam, a kettot kene valahogy osszegyurni.
    INSERT INTO subscription_attribute
    select
    168504837876601, dp."UID", 1, '<null/>'
    from DOMAIN_PARAMETER dp where ID like 'boostGainEnabled';

    Szerk, meg is van:
    INSERT INTO subscription_attribute
    select
    s."UID", dpa."UID", 1, '<null/>'
    from DOMAIN_PARAMETER dpa, subscription s
    join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
    join account a on s.OWNING_ACCOUNT_UID = a."UID"
    left outer join boostGainEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
    where
    ml.SUBSCRIPTION_UID is null
    and srk.DOMAIN_RESOLVE_KEY_UID = (
    select drk."UID" from DOMAIN_RESOLVE_KEY drk
    where drk.ID like 'guestPIN')
    and a.id like '%xy007%'
    and s.id like '%xy%'
    and dpa.ID like 'boostGainEnabled'
    order by s."UID";

    Bocs, hogy ideszemeteltem, de reggel meg biztos voltam benne, hogy nem fog sikerulni :B

  • kem
    addikt

    Sziasztok!

    Ismet egy kis segitsegre lenne szuksegem TimesTen adatbazissal kapcsolatban, Van nekem egy nyakatekert SQL querym aminek az eredmenyet szeretnem insertalni egy tablaba, a kovetkezo keppen:

    INSERT INTO subscription_attribute VALUES(<ide szeretnem belistazni a kovetkezo kimenetet>, 167463909189556, 1, '<null/>');

    select s."UID"
    from subscription s
    join SUBSCRIPTION_RESOLVE_KEY srk on s."UID" = srk.SUBSCRIPTION_UID
    join account a on s.OWNING_ACCOUNT_UID = a."UID"
    left outer join boostGainEnabled ml on s."UID" = ml.SUBSCRIPTION_UID
    where
    ml.SUBSCRIPTION_UID is null
    and srk.DOMAIN_RESOLVE_KEY_UID = (
    select drk."UID" from DOMAIN_RESOLVE_KEY drk
    where drk.ID like 'guestPIN')
    and a.id like '%xy007%'
    and s.id like '%xy%'
    order by s."UID";

    A boostGainEnabled egy view-t takar, amit igy hoztam letre:
    create view boostGainEnabled as
    select s."UID" as SUBSCRIPTION_UID
    from subscription s
    join subscription_attribute sa on s."UID" = sa.SUBSCRIPTION_UID
    join account a on s.OWNING_ACCOUNT_UID = a."UID"
    join domain_parameter dp on sa.DOMAIN_PARAMETER_UID = dp."UID"
    where dp.ID like 'boostGainEnabled';

    Szoval a kerdesem az lenne, hogy hogyan agyazok be az INSERT-em egyik Value helyere egy subqueryt?

    Elore is koszonom szepen a segitseget!
    :R :R :R

  • kem
    addikt

    Ezzel a feladattal szivok mar eleg regota, erre most idehuppan kollegam es begepeli ezt:
    update subscription_attribute sa
    set sa.VALUE = REPLACE( REPLACE( sa.value, '<s>','<int>' ), '</s>','</int>' )
    ...
    and sa.VALUE LIKE '<s>%</s>'

    Raadasul mukodik szamolas nelkul :C

  • kem
    addikt

    Érdekes, úgy rémlett, hogy később kijavítottam column_value-t SA.value-ra.

    SUBSTR(sa.VALUE,4,LENGTH(sa.VALUE)-7): ide a 4 helyére azt kell írni, ahol kezdődik a tényleges érték. '<s>' ugye 3 karakter hosszú, tehát a negyedik karakternél fog kezdődni a tényleges mezőérték. A LENGTH(sa.VALUE)-7 megadja, hogy hány karakter hosszú a tényleges mezőérték. Ezt úgy kapjuk meg, hogy a mező teljes hosszából (LENGTH(sa.VALUE)) levonjuk a fölösleges rész hosszát. Ez a mi példánkban 7 volt, mert '<s>' és '</s>' összesen 7 karakter.

    Tehát ha a boolean-ből szeretnéd kibányászni a tényleges mezőértéket, akkor az így néz ki:
    '<boolean>' hossza 9 (tehát a 10. karakteren fog kezdődni ami neked kell)
    '</boolean>' hossza 10
    SUBSTR(sa.VALUE,10,LENGTH(sa.VALUE)-19)

    Nagyon szepen koszonom, sikerult megertenem vegre az egeszet.
    :R :C :R
    Nagyon sok extra munkat sporolt meg es hasznos tudast is adott, szoval koszonom meg egyszer.

    kem

  • kem
    addikt

    Hát a WHERE feltételben az van, hogy minden olyan rekordra fusson le aminél a mező értéke '<s>'-sel kezdődik és '</s>' -re végződik.
    A SET-nél az van, hogy vágja ki a két fenti markup közti részt és rakja '<int>' és '</int>' közé.
    Tehát így transzformál (elvileg):
    '<s>1</s>' -> '<int>1</int>'
    '<s>12</s>' -> '<int>12</int>'
    '<s>999</s>' -> '<int>999</int>'
    stb.

    Ha esetleg más szerkezetű (is) a mező tartalma, amit konvertálni kell, akkor írj már rá, légy szíves, néhány példát és akkor átfogalmazzuk a parancsot.

    Leteszteltem az elobb, es kis modositassal mukodik. 1-nel tobb szamjeggyel is, ami nekem fontos. Itt egy masik pelda, amiben nem sok elteres van, szoval elvileg erre at tudom irni.
    < <boolean>false</boolean>, 152312 >
    < <boolean>true</boolean>, 176 >
    < <s>false</s>, 271636 >
    < <s>true</s>, 1338 >

    Itt ugye csak annyi valtozik, hogy az int-bol boolean lesz, tehat:
    update subscription_attribute sa
    set sa.VALUE = '<boolean>'||SUBSTR(sa.VALUE,4,LENGTH(sa.VALUE)-7)||'</boolean>'
    ...
    where sa.VALUE LIKE '<s>%</s>'

    Viszont ha megforditjuk a helyzetet, es boolean-bol kell mast csinalni, akkor mar a szamokat is at kell irni a SUBSTR utan. Ezt a reszt nem tudtam ertelmezni, csak kapisgalom:
    SUBSTR(column_value,4,LENGTH(sa.VALUE)-7)
    A column_value helyett sa.VALUE-val mukodik, a 4-es gondolom az elso karakter amit megovunk, de azt ami utana van nem ertem.

    :R :R

  • kem
    addikt

    Valami ilyesmi lehetne az update parancs:

    update subscription_attribute sa
    set sa.VALUE = '<int>'||SUBSTR(column_value,4,LENGTH(sa.VALUE)-7)||'</int>'
    ...
    where sa.VALUE LIKE '<s>%</s>'

    Megkerdezhetnem, hogy ebben mi mit jelent? :B
    Amit fontos meg elernem, hogy a formula alkalmazhato legyen akarmennyi karakterre ami az ertek reszen van.

  • kem
    addikt

    Valami ilyesmi lehetne az update parancs:

    update subscription_attribute sa
    set sa.VALUE = '<int>'||SUBSTR(column_value,4,LENGTH(sa.VALUE)-7)||'</int>'
    ...
    where sa.VALUE LIKE '<s>%</s>'

    Koszonom szepen!
    El leszek egy darabig amig megertem minden osszetevojet, de ezt kerestem.

    Udv! :R

  • kem
    addikt

    Sziasztok!

    A kerdesem az lenne, hogy hogyan tudnek megvaltoztatni egy mezo tipusat de az erteket nem? Nekem ugy tunik, hogy a tipus is az ertek "string" resze pl: <s>2</s> vagy <int>2</int>. Nagyon sok ertek rosszul van definialva, ami miatt a logokat telef*ssa az applikacio, de mukodik. Jelenleg ertekenkent mgyek rajta vegig, de igy nagyon lassan tudok majd vegezni, kb 400 change kellene hozza (8platform, 500k+ user, 50+ attributum).

    A filter amit most hasznalok:

    update subscription_attribute sa
    set sa.VALUE = '<int>2</int>'
    ...
    and sa.value LIKE '<s>2</s>'

    Ez egyebkent TimesTen DB, es a DBAnk nyugdijba ment :O

    Koszi a segitseget elore is.

    Pl az egyik platformnak, ez az egyik attributuma, amit roszul provisioningeltek sokaig:

    < <int>3</int>, 150328 >
    < <int>5</int>, 2093 >
    < <s>3</s>, 288405 >
    < <s>5</s>, 6370 >

    Az osszes stringet itt at kellene nevezni integerre. A bal oldali az ertek, a jobb oldali az a number of subscribtioins amihez az az ertek van rendelve. Valahogy egyszerre szeretnem az osszes 5-os, es 3-ast is feldolgozni. Van ahol ebbol tobb mint 10 ertek van, nem csak ez a ketto.

    Szoval a kerdesem valoszinuleg alap SQL whitecard tema amivel nem vagyok tisztaba. Mukodne az ugy pl, hogy <s>*</s> van a filterben, es <int>*</int> az update oldalon? Gondolom nem ilyen egyszeru a tema.

  • kem
    addikt

    Sziasztok!

    A kerdesem az lenne, hogy hogyan tudnek megvaltoztatni egy mezo tipusat de az erteket nem? Nekem ugy tunik, hogy a tipus is az ertek "string" resze pl: <s>2</s> vagy <int>2</int>. Nagyon sok ertek rosszul van definialva, ami miatt a logokat telef*ssa az applikacio, de mukodik. Jelenleg ertekenkent mgyek rajta vegig, de igy nagyon lassan tudok majd vegezni, kb 400 change kellene hozza (8platform, 500k+ user, 50+ attributum).

    A filter amit most hasznalok:

    update subscription_attribute sa
    set sa.VALUE = '<int>2</int>'
    ...
    and sa.value LIKE '<s>2</s>'

    Ez egyebkent TimesTen DB, es a DBAnk nyugdijba ment :O

    Koszi a segitseget elore is.

  • kem
    addikt

    Vagy berakni a kettő közé, hogy MINUS

    * és order by elég lesz egy.

    Kicsit jobban komplikalni kellett, es most borzasztoan lassu. Ezt mar be se illesztem, mert mi is alig ertjuk :D

    Koszi mindenesetre!

  • kem
    addikt

    Sziasztok.

    Van 2 db TimesTen SQL querym, es arra lennek kivancsi, hogy hogyan lehetne kiiratni a ketto eredmenyenek a kulonbseget?

    select a.id as account, s.id subscription
    from subscription s, account a
    where s.OWNING_ACCOUNT_UID = a."UID"
    order by a.id, s.id;

    select a.id as account, s.id subscription
    from subscription_attribute sa, subscription s, domain_parameter dp, account a
    where s."UID" = sa.SUBSCRIPTION_UID
    and s.OWNING_ACCOUNT_UID = a."UID"
    and sa.DOMAIN_PARAMETER_UID = dp."UID"
    and dp.ID like 'ActualParameter'
    order by a.id, s.id;

    Elore is koszonom a segitdeget! :R
    Ha jol gondolom nem kell erteni a teljes adatbazist ahhoz, hogy ki lehessen iratni ezt az eredmenyt, de az is lehet, hogy hatalmasat tevedek.

    :R :R :R

  • kem
    addikt

    Sziasztok!

    Adott egy Oracle TimesTen memoriaban futo DB amirol szeretnek ERD-t kesziteni, mert egyszeruen nem latom at igy nyersen. Tudtok erre valami megoldast?

    Koszi elore is!

    kem

Új hozzászólás Aktív témák