SEQUENCE
не для PostgreSQL, а для MySQL и его клонов.IDENTITY
/**
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private int $id;
NONE
/**
* @ORM\Column(type="id")
* @ORM\GeneratedValue(strategy="NONE")
* @ORM\SequenceGenerator(sequenceName="custom_seq", initialValue=100)
* @ORM\Id
*/
private int $id;
tail -qn +2 files/*.txt > data.csv
dir
/ ls
) и, допустим, в продвинутом текстовом редакторе дописываете к каждому названию куски команды COPY. Получится один большой скрипт Лет 10 назад изучал html, css, php, SQL, как хобби.
Насколько наличие сертификата об окончании платных/бесплатных курсов помогает в поиске работы или работодателя в первую очередь интересуют знания кандидата?
Путь до junior developer (java/kotlin). Сколько времени потребуется?
select
box_id, max(name), max(another_name), "product",
sum(coalesce(incoming::numeric, 0)) "incoming",
sum(coalesce(output::numeric, 0)) "output",
sum(coalesce(incoming::numeric, 0)) - sum(coalesce(output::numeric, 0)) "balance"
from table1
group by product, box_id
order by box_id;
требуется внедрить или установить её на предприятие. То есть сам процесс выгрузки конфигурации на сервер, её настройка и прочие соответствующие пункту этапы
К примеру, есть номенклатура и нужно ли ответственному за внедрение или установку человеку, лично вводить каждую номенклатуру в базу или это работа бухгалтера (менеджера).
это "Внедрение" или именно "Установка" 1С.
select * from Groups;
select * from groups;
select * from GROUPS;
SELECT * FROM groups;
SeLeCt * FrOm GrOuPs;
create table Groups ...
создаст в Postgres таблицу с именем groups
. Запрос select * from GrOupS;
будет также искать таблицу с именем groups
.create table "Groups" ...
создаст таблицу с именем Groups
. Запрос select * from "GrOupS";
будет также искать таблицу с именем GrOupS
.create table Groups ...
-- реальное имя таблицы - groups
select * from "Groups"
, обращение идет к несуществующей таблице Groups
.\dt
, или смотрите свойства таблицы в своей среде). Если оно не lower-case, используйте кавычки с точным названием (например, select * from "GROUPS"
), в противном случае лучше обходиться вообще без кавычек. import psycopg2
from datetime import datetime, timedelta
from pprint import pprint
def get_dt(dt: str):
return datetime.strptime(dt, '%Y%m%d')
def get_dt_delta(dt: datetime, s=1, e=4):
return dt - timedelta(days=s), dt + timedelta(days=e)
def execute(config, sql, param=None, select_mode=True):
connection = None
try:
connection = psycopg2.connect(**config)
cursor = connection.cursor()
if param:
cursor.execute(sql, param)
else:
cursor.execute(sql)
if select_mode:
return cursor.fetchall()
except Exception as E:
print(E)
finally:
connection.close()
def get_devices():
devices_q = "SELECT * from devices LEFT JOIN devatt on devices.dev = devatt.dev " \
"WHERE devatt.att = 'otherinfo' AND devatt.value like '0%'"
return [x[0] for x in execute(cfg, devices_q)]
def generate_rep(devs, period):
r = {}
period_dt = get_dt(period)
period_s, period_e = get_dt_delta(period_dt)
for dev in devs:
q = 'SELECT * from rawdata where deveui = %s and time between %s AND %s ORDER BY id DESC'
rawdata = execute(config=cfg, sql=q, param=(dev, period_s, period_e))
r[dev] = rawdata
return r
if __name__ == "__main__":
cfg = dict(user="pguser", password="localpass", host="127.0.0.1", port="5432", database="wan_server")
devices = get_devices()
date = '20220308'
result = generate_rep(devs=devices, period=date)
pprint(result)