Есть ли ключевое слово для получения существующих данных в записи?

Я хочу сразу обновить все записи в своей таблице и добавить скобки до и после каждой записи в записи. Могу ли я добавить что-нибудь в этот бланк, что поможет мне сделать то же самое?

update @column_list set ListColumns = '['+ _________ +']' 

Я не смог ничего выяснить. Я подумал, что попробую спросить здесь один раз, иначе мне придется обновлять все записи отдельно, глядя на их фактические значения и добавляя скобки.

Можете ли вы показать структуру таблицы, образец ввода и ожидаемый результат?

Hans Kesting 18.02.2023 11:22

Каков ваш вклад и каков желаемый результат? Публиковать ничего, кроме запроса, который не дает вам того, что вы хотите, довольно бесполезно.

Jeroen Mostert 18.02.2023 11:22

Нет ключевого слова для обновления всех столбцов, и основная причина того, что нет веских причин когда-либо делать это — для разных типов данных потребуются разные правила (например, если вы добавите [ и ] к числу или дате), это прекратится. быть числом даты. Это очень похоже на проблему xy. поэтому я думаю, что лучше спросить, ПОЧЕМУ вам нужно изменить все столбцы во всех строках одновременно, а не как вы это делаете?

GarethD 18.02.2023 11:22

ОБНОВЛЕНИЕ ColX = CONCAT('[', ColX, ']') ОТ чего-то

Bogdan Sahlean 18.02.2023 12:47

В TSQL администратор базы данных явно записывает столбцы в каждом операторе.

Bogdan Sahlean 18.02.2023 12:49
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
3
5
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не знаю, почему вы хотите заключить все в скобки, но мне приходит в голову сделать что-то вроде этого:

UPDATE [tableName]
SET
    [col1] = CONCAT('[',[col1],']')
    ,[col2] = CONCAT('[',[col2],']')
    ,...

Если вы хотите выполнить это действие при вставке или обновлении самой таблицы, вы можете создать триггер

CREATE TRIGGER [triggerName]
ON [tableName]
AFTER INSERT, UPDATE
AS
BEGIN
    SET NOCOUNT ON;

    IF TRIGGER_NESTLEVEL()>1
        RETURN;

    UPDATE [tableName]
    SET
        [col1] = CONCAT('[', [col1], ']')
        ,[col2] = CONCAT('[', [col2], ']')
        ,....
    WHERE ID IN (SELECT ID FROM INSERTED);
END

Однако установка типа (n)varchar в другой столбец типа данных вызовет проблемы.

Другие вопросы по теме