Advertisement
Guest User

Untitled

a guest
Dec 10th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.51 KB | None | 0 0
  1. import cx_Oracle
  2. import pymysql.cursors
  3. from random import randint
  4. import datetime
  5.  
  6. dsn_tns = cx_Oracle.makedsn('localhost', '1521', 'xe')
  7. conn_oracle = cx_Oracle.connect(user='login', password='password', dsn=dsn_tns)
  8. cur_oracle = conn_oracle.cursor()
  9.  
  10. conn_mysql = pymysql.connect(host='localhost', user='user', password='password', db='biuro',
  11.                              cursorclass=pymysql.cursors.DictCursor)
  12. cur_mysql = conn_mysql.cursor()
  13. conn_mysql.autocommit(True)
  14.  
  15. sql_insert_client = "INSERT INTO klient(idklient, plec, stancywilny, wiek)" \
  16.                     " VALUES ({id}, '{gender}', '{civil}', {age})"
  17. sql_insert_sale = "INSERT INTO sprzedaz(idsprzedaz, cena, data, klient_id_klient, nieruchomosc_idnieruchomosc)" \
  18.                   " VALUES ({id}, '{price}', '{date}', {client_id}, {state_id})"
  19. sql_insert_state = "INSERT INTO nieruchomosc(idnieruchomosc, liczbapokoi, powierzchnia, piwnica, balkon, rokbudowy, lokalizacja_idlokalizacja, pietro)" \
  20.                    " VALUES ({id}, {rooms}, {metres}, '{basement}','balcony','year' {local_id}, {floor})"
  21. sql_insert_local = "INSERT INTO lokalizacja(idlokalizacja, miasto, odlegloscodcentrum)" \
  22.                    " VALUES ({id}, '{city}', {from_city_center})"
  23.  
  24. sql_retrieve_sale_and_client = "SELECT sprzedaz.idsprzedaz, sprzedaz.data, sprzedaz.cena,  " \
  25.                                "mieszkanie.idmieszkanie, mieszkanie.liczbaPokoi, mieszkanie.powierzchnia, mieszkanie.piwnica, mieszkanie.balkon, mieszkanie.winda, " \
  26.                                "dzielnica.iddzielnica, dzielnica.odlegloscOdCentrum, " \
  27.                                "miasto.idmiasto, miasto.nazwa " \
  28.                                "klient.idklient, klient.stanCywilny, klient.wiek, " \
  29.                                "osoba.plec " \
  30.                                "FROM biuro.sprzedaz " \
  31.                                "INNER JOIN biuro.mieszkanie ON sprzedaz.idmieszkanie = mieszkanie.idmieszkanie " \
  32.                                "INNER JOIN biuro.dzielnica ON mieszkanie.idDzielnica = dzielnica.iddzielnica " \
  33.                                "INNER JOIN biuro.miasto ON dzielnica.idmiasto = miasto.idmiasto" \
  34.                                "INNER JOIN biuro.klient ON sprzedaz.idklient = klient.idklient " \
  35.                                "INNER JOIN biuro.osoba ON klient.idosoba = osoba.idosoba;"
  36.  
  37. cur_mysql.execute(sql_retrieve_sale_and_client)
  38. all = cur_mysql.fetchall()
  39.  
  40. i = 0
  41. for row in all:
  42.  
  43.     sale_id = row['idsprzedaz']
  44.     sale_date = row['data']
  45.     sale_price = row['cena']
  46.  
  47.     client_id = row['idklient']
  48.     client_civil = row['stanCywilny']
  49.     client_age = row['wiek']
  50.     client_gender = row['plec']
  51.  
  52.     state_id = row['idmieszkanie']
  53.     state_rooms = row['liczbaPokoi']
  54.     state_metres = row['powierzchnia']
  55.     state_basement = row['piwnica']
  56.     state_balcony = row['balkon']
  57.  
  58.     i = i + 1
  59.     locale_id = i
  60.     locale_city = ['miasto']
  61.     locale_from_city_center = ['odlegloscOdCentrum']
  62.  
  63.     if client_gender == 'mezczyzna':
  64.         client_gender = 'm'
  65.     else:
  66.         client_gender = 'f'
  67.     if client_civil == 'zajety':
  68.         client_civil = 'married'
  69.     else:
  70.         client_civil = 'single'
  71.  
  72.     if state_basement == 1:
  73.         state_basement = 't'
  74.     else:
  75.         state_basement = 'f'
  76.     if state_balcony == 1:
  77.         state_balcony = 't'
  78.     else:
  79.         state_balcony = 'f'
  80.  
  81.     start = datetime.datetime.strptime("1995-06-21", "%Y-%m-%d")
  82.     end = datetime.datetime.strptime("2018-06-21", "%Y-%m-%d")
  83.     date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]
  84.  
  85.     cur_oracle.execute(
  86.         sql_insert_local.format(id = locale_id, city = locale_city, from_city_center = locale_from_city_center))
  87.    
  88.     cur_oracle.execute(sql_insert_state.format(id = state_id, rooms=state_rooms, metres=state_metres,
  89.                                                basement = state_basement, balcony = state_balcony,
  90.                                                year = randint(1930, 2018), local_id = locale_id, floor = randint(1, 15)))
  91.     cur_oracle.execute(sql_insert_client.format(id = client_id, gender = client_gender, civil = client_civil, age = client_age))
  92.    
  93.     cur_oracle.execute(sql_insert_sale.format(id = sale_id, price = sale_price, date = date_generated.strftime("%Y-%m-%d"),
  94.                                               klient_id_klient = client_id, nieruchomosc_idnieruchomosc = state_id ))
  95.  
  96. conn_oracle.commit()
  97. conn_oracle.close()
  98. conn_mysql.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement