1

голосов
1

ответ
411

Просмотры

Как я могу использовать саз в регистрации в PostgreSQL?

Таким образом, в основном мне нужно добиться этого эффекта, любые предложения? РЕГИСТРИРУЙТЕСЬ ((случай, когда (SELECT COUNT (e.order_id) от входа Й ГДЕ ee.order_id = o.id)> 1, то (SELECT * FROM въездных е ГДЕ e.user_id = 3) ELSE (SELECT * FROM въездных где е .user_id = 3 и e.draw_id = (SELECT dd.id ОТ дро дд ГДЕ dd.draw_date_time> CURRENT_TIMESTAMP (0) ORDER BY dd.draw_date_time ASC LIMIT 1)) END) е = О e.order_id o.id
Amiko
2

голосов
1

ответ
2.6k

Просмотры

Как изменить последовательность в PostgreSQL с определенной макс (ID) из таблицы? [Дубликат]

Этот вопрос уже есть ответ здесь: Как сбросить первичный ключ последовательности Postgres', когда она выпадает из синхронизации? 25 ответов Alter автоматически сгенерированная последовательность 2 ответов мне нужно, чтобы получить следующий SQL сценарий синтаксиса права. В Postgres, вы не можете на самом деле цепь «изменить последовательность» с «выбрать макс (ID)». Так что это правильный путь, чтобы написать сценарий таким образом, что PostgreSQL принимает его? Вот скрипт, так что вы можете иметь представление о том, что мне нужно: изменить ПОСЛЕДОВАТЕЛЬНОСТЬ notification_settings_seq START с (выберите макс (ID) из game_user)
Amiko
1

голосов
1

ответ
2.6k

Просмотры

Как вставить Integer массив в PostGreSQL таблицу с помощью JdbcTemplate в Java Springboot?

У меня есть проблемы с установкой Integer массива в Postgresql таблицы, как я могу идти об этом? Строка SQL = "INSERT INTO draw_result (ID, ball_numbers, balls_with_mega_ball, draw_dates, mega_plier) VALUES (?,,,???)"; Object [] PARAMS = {randomNumbers, ballNumbers, ballNumbersMegaBall, drawDates, megaPlier}; jdbcTemplate.update (SQL, PARAMS); Где ballNumbers и ballNumbersMegaBall являются ArrayList. Заполненные с 2-х цифр. Вот таблица PostgreSQL: CREATE TABLE public.draw_result (ID BIGINT NOT NULL, draw_dates дату, ball_numbers BigInt [], balls_with_mega_ball BIGINT [], mega_plier BIGINT, скованность draw_result_pkey PRIMARY KEY (ID)) А вот ошибка из Springboot: Там непредвиденная ошибка (тип ошибки = Internal Server, статус = 500). PreparedStatementCallback; плохая грамматика SQL [INSERT INTO draw_result (ид,> ball_numbers, balls_with_mega_ball, draw_dates, mega_plier) VALUES (?,,,>??)]; вложенное исключение org.postgresql.util.PSQLException: Не удается вывести SQL> типа использовать для экземпляра java.util.ArrayList. Используйте SetObject () с> значения Явных типов указать тип использования.
Amiko
6

голосов
1

ответ
1.6k

Просмотры

Spring: Требуется тело запроса отсутствует. не может передать JSON в RestController

Я есть проблемы с прохождением JSON в RestController. Это, кажется, не потреблять. Контроллер: @PostMapping (путь = "Пользователи / {USERID} / Операции", потребляет = MediaType.APPLICATION_JSON_VALUE, производит = MediaType.APPLICATION_JSON_VALUE) публичное CompletableFuture
Amiko
3

голосов
4

ответ
420

Просмотры

How can I fill empty table rows which references another table's column ID?

Я хочу, чтобы заполнить пустые notification_settings для каждого пользователя, который уже существует. Идентификаторы (ПКС) являются автоматически генерируется Hibernate в каждой таблице. Вот таблица пользователей: CREATE TABLE lottery_user (ID INT8 не неопределенные, адрес электронной VARCHAR (255) NOT NULL, пароль VARCHAR (255) NOT NULL, notification_settings_id INT8, роль VARCHAR (50) по умолчанию 'USER', registry_date TIMESTAMP по умолчанию сейчас () , первичный ключ (идентификатор) ADD CONSTRAINT FK_USER_TO_NOTIFICATION_SETTINGS FOREIGN KEY (notification_settings_id) Лит notification_settings); А вот таблица notification_settings которые мне нужно заполнить для пользователей, которые не имеют наполнил для них. CREATE TABLE notification_settings (ID INT8 не NULL, test1_events BOOL DEFAULT TRUE, test2_events Его DEFAULT TRUE, test3_events BOOL DEFAULT TRUE, test4_events BOOL TRUE, УМОЛЧАНИЮ PRIMARY KEY (ID)); В принципе, мне нужно использовать "INSERT INTO notification_settings (test1_events, test2_events, test3_events, test4_events) VALUES (True, True, True, True)" что-то подобное. И, конечно же, состояние должно быть что-то вроде этого «где эти строки пусты для пользователей». Я не могу показаться, чтобы получить право синтаксиса. BIG Примечание: код SQL для представления цели, так что вы можете иметь представление о том, какие столы у меня есть. Мне просто нужно, чтобы получить ВСТАВИТЬ сценарий правильно. Столы работают нормально, просто нужно генерировать notification_settings значения для пользователей, которые уже существуют. Другое Примечание: Используя пролетный путь, так что это не просто о Hibernate. Если это имеет отношение к делу. SQL-код для представления цели, так что вы можете иметь представление о том, какие столы у меня есть. Мне просто нужно, чтобы получить ВСТАВИТЬ сценарий правильно. Столы работают нормально, просто нужно генерировать notification_settings значения для пользователей, которые уже существуют. Другое Примечание: Используя пролетный путь, так что это не просто о Hibernate. Если это имеет отношение к делу. SQL-код для представления цели, так что вы можете иметь представление о том, какие столы у меня есть. Мне просто нужно, чтобы получить ВСТАВИТЬ сценарий правильно. Столы работают нормально, просто нужно генерировать notification_settings значения для пользователей, которые уже существуют. Другое Примечание: Используя пролетный путь, так что это не просто о Hibernate. Если это имеет отношение к делу.
Amiko
1

голосов
2

ответ
1.4k

Просмотры

How can I unit test that I received correct PreparedStatement?

Я хочу передать в подходящем объекте в метод проверки, не просто (). Есть ли способ сделать это? Я не могу просто взять и скопировать метод Lambda и передать результаты в проверяй. Это не работает, потому что Лямбда не может быть проверена непосредственно. Мой тестовый блок, который, очевидно, даже не близко к испытывая что-либо: @Test общественного недействительными testRunTrigger () {campaignTrigger.updateCampaignStatus (); проверить (JdbcTemplate) .update (любой (PreparedStatementCreator.class)); assertEquals ( "ОБНОВЛЕНИЕ кампания SET, состояние = 'FINISHED', где государственные IN ( 'ПАУЗА', 'CREATED', 'RUNNING') И CAMPAIGN_END <?", campaignTrigger.UPDATE_CAMPAIGN_SQL); } И это класс я тестирование: @Component @ SLF4J класс CampaignTrigger общественности {окончательная строка UPDATE_CAMPAIGN_SQL = string.Format (» ОБНОВЛЕНИЕ кампания SET, состояние = '% s' "+", где состояние IN (% S) И CAMPAIGN_END <? "FINISHED, Stream.of (PAUSED, СОЗДАНО, RUNNING) .map (CampaignState :: имя) .collect (Collectors.joining (" ''»," ' "'))); @Autowired частный JdbcTemplate JdbcTemplate; @Scheduled (CRON = "$ {lotto.triggers.campaign}") @Timed недействительными updateCampaignStatus () {jdbcTemplate.update (кон -> {PreparedStatement CallableStatement = con.prepareStatement (UPDATE_CAMPAIGN_SQL); callableStatement.setTimestamp (1, Отметка .valueOf (LocalDateTime.now ())); log.debug ( "Обновление кампаний статусы."); вернуть CallableStatement;});} Любые советы,
Amiko
2

голосов
1

ответ
233

Просмотры

Как вы определяете источник в хитах транзакций протокола измерения Google?

Я был в состоянии послать транзакцию не попадает в Google Analytics без проблем через Hit Builder просто, чтобы проверить Hit Paylods. Ссылка здесь: Hit Builder Операции Google, показываются в ГА и их источником является «Direct» по умолчанию это кажется. То, что я хочу, чтобы указать Source себя перед отправкой сделки Hit. Как я хотел бы указать электронную почту вместо Direct, или указать один из веб-сайтов в (Другие) Категория. Как будет идти об этом?
Amiko