powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как обнулить данные
17 сообщений из 17, страница 1 из 1
как обнулить данные
    #39784896
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, есть таблица dbo.mytab
там есть поле (mark)
как сделать, чтобы если для строки mark=0, то обнулить всю строку(т.е. все колонки должны равняться нулю)
...
Рейтинг: 0 / 0
как обнулить данные
    #39784898
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
update сделайте
...
Рейтинг: 0 / 0
как обнулить данные
    #39784960
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я тоже об этом думал, но колонок много, по одной я не хочу, я хочу для всех сразу
update mytab
set * from mytab =0
where mark=0

ошибка
Сообщение 102, уровень 15, состояние 1, строка 977
Неправильный синтаксис около конструкции "*".
...
Рейтинг: 0 / 0
как обнулить данные
    #39784962
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kontox,

автор я хочу для всех сразу
это вам лень названия колонок писать или что?
...
Рейтинг: 0 / 0
как обнулить данные
    #39784963
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KontoxНеправильный синтаксис около конструкции "*".Ну так правильно, вы синтаксис придумали, а сервер должен делать?
...
Рейтинг: 0 / 0
как обнулить данные
    #39784995
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK если колонок 5, то не лень, а если их сотни, вот тут есть трудности и лень тут не причем :)
...
Рейтинг: 0 / 0
как обнулить данные
    #39785000
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KontoxTaPaK если колонок 5, то не лень, а если их сотни, вот тут есть трудности и лень тут не причем :)
между 5ю и 150 нет разницы в написании

ALT+1 на названии объекта, скопировать все колонки, вставить куда надо, ALT+SHIFT + ARROW протянуть все после название и вписать "= 0,"
...
Рейтинг: 0 / 0
как обнулить данные
    #39785001
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ SCRIPT TABLE AS - UPDATE ... для мышкоюзеров
...
Рейтинг: 0 / 0
как обнулить данные
    #39785016
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То что Вы сказали, в принципе сам знаю. Хотелось что -то по креативнее. Но ладно) Пусть так будет
...
Рейтинг: 0 / 0
как обнулить данные
    #39785019
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KontoxТо что Вы сказали, в принципе сам знаю. Хотелось что -то по креативнее. Но ладно) Пусть так будетАга, мышам тоже может быть хотелось стать ёжиками.
...
Рейтинг: 0 / 0
как обнулить данные
    #39785170
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KontoxTaPaK если колонок 5, то не лень, а если их сотни, вот тут есть трудности и лень тут не причем :)

Мммм... Сотни колонок.
Почему у меня никогда не получается таких задач, где бы мне понадобились сотни колонок? Чяднт?
...
Рейтинг: 0 / 0
как обнулить данные
    #39785188
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offtopPizzaPizzaЧяднт?
Нормализуешь данные...
Своими глазами видел программу, использующую таблицу "один день - одно поле" с данными за 9 лет... 3300 полей... в Аксессе.
Kontoxя хочу для всех сразуУдали запись да вставь новую, делов-то... Только сперва проверь, что все DEFAULT VALUES равны нулю.
...
Рейтинг: 0 / 0
как обнулить данные
    #39785194
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kontoxя тоже об этом думал, но колонок много, по одной я не хочу, я хочу для всех сразу
update mytab
set * from mytab =0
where mark=0

Так ?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
DECLARE @nameTable as nvarchar(512)
DECLARE @partSet as nvarchar(128)
DECLARE @partSetAndSep as nvarchar(128)
DECLARE @sqlDynamic as nvarchar(max)
DECLARE @partWhere as nvarchar(512)

SET @nameTable = 'mytab'
SET @partWhere = 'mark=0' 
SET @partSet = '=0 '
SET @partSetAndSep = @partSet + ', '

SELECT @sqlDynamic = 'UPDATE ' + QUOTENAME(@nameTable) + ' SET ' + STRING_AGG(QUOTENAME(cols.name), @partSetAndSep) + @partSet + ' WHERE ' + @partWhere +';' FROM sys.all_columns as cols INNER JOIN sys.all_objects as objs ON cols.object_id = objs.object_id WHERE objs.type ='U' AND objs.name = @nameTable

PRINT @sqlDynamic
...
Рейтинг: 0 / 0
как обнулить данные
    #39785195
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaKontoxTaPaK если колонок 5, то не лень, а если их сотни, вот тут есть трудности и лень тут не причем :)

Мммм... Сотни колонок.
Почему у меня никогда не получается таких задач, где бы мне понадобились сотни колонок? Чяднт?
на центре звезды ~221 колонка, без понятния что вы делаете
...
Рейтинг: 0 / 0
как обнулить данные
    #39785541
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKPizzaPizzaпропущено...


Мммм... Сотни колонок.
Почему у меня никогда не получается таких задач, где бы мне понадобились сотни колонок? Чяднт?
на центре звезды ~221 колонка, без понятния что вы делаете

Ну ключи то понятно. Опять же не у каждого есть сущность на сотни аттрибутов.
Чаще всего такие широкие таблицы просто ошибка проектирования имхо.
...
Рейтинг: 0 / 0
как обнулить данные
    #39785542
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaTaPaKпропущено...

на центре звезды ~221 колонка, без понятния что вы делаете

Ну ключи то понятно. Опять же не у каждого есть сущность на сотни аттрибутов.
Чаще всего такие широкие таблицы просто ошибка проектирования имхо.
где ж вы были когда мы это проектировали, и это продаём....
...
Рейтинг: 0 / 0
как обнулить данные
    #39785577
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKPizzaPizzaпропущено...


Ну ключи то понятно. Опять же не у каждого есть сущность на сотни аттрибутов.
Чаще всего такие широкие таблицы просто ошибка проектирования имхо.
где ж вы были когда мы это проектировали, и это продаём....

экий вы нервный, все на свой счёт принимаете

Попробуйте применять понятие "здравый смысл" в жизни. Например, какова вероятность, что человек продает программный продукт с промежуточной таблицей на 100+ полей и не знает синтаксис SQL?
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как обнулить данные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]