С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 3
Регистрация: 11.12.2016
Сообщений: 137
1

Создание триггера

04.12.2019, 14:13. Показов 1139. Ответов 10

Author24 — интернет-сервис помощи студентам
есть 2 таблицы users и account
писал триггер добавление данные в таблицу accaunt при добавление данных в таблицу users
users
user_id
login
pass
lvl
account
user_id(pk)
name
about

триггер
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
USE [multuser]
GO
/****** Object:  Trigger [dbo].[Products_INSERT]    Script Date: 04.12.2019 14:01:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[Products_INSERT]
ON [dbo].[users]
AFTER INSERT
AS
INSERT INTO account(name, about)
SELECT NULL, 'Логин ' + lvl
FROM users
пишу запрос на добавление user
SQL
1
2
3
4
INSERT INTO users(login, pass, lvl)
VALUES ('xxxx', 'yyyy', 9)
 
SELECT * FROM account
выдает ошибку сообщение: 245, уровень: 16, состояние: 1, процедура: Products_INSERT, строка: 5 [строка начала пакета: 0]
Ошибка преобразования значения varchar "Логин " в тип данных int.

не понимаю почему
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2019, 14:13
Ответы с готовыми решениями:

Создание триггера
Добрый день, прошу помощи. Данные в таблицу Dynamics_of_indicatros поступают раз в месяц. Запись...

Создание триггера в ХП
Приветствую, есть хранимая процедура которая, ну не суть важно как и что делает, и есть триггер для...

Создание триггера
Здравствуйте. Подскажите, как реализовать следующий триггер: Триггер, который при заключении...

Создание триггера
Если лекционных часов более 16, выполнить откат транзакции и вывести сообщение о фактическом числе...

10
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
04.12.2019, 15:06 2
Цитата Сообщение от Руслан997 Посмотреть сообщение
SELECT NULL, 'Логин ' + lvl
вот тут у тебя к строке прибавляется число
это неправильно
1
0 / 0 / 3
Регистрация: 11.12.2016
Сообщений: 137
04.12.2019, 18:01  [ТС] 3
спасибо
еще такой вопрос у меня users есть строка user_id когда я пишу insert у меня входить ошибка что мы не указали значение user_id хотя она автоинкримент что делать ?
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
04.12.2019, 19:41 4
покажи запрос
0
0 / 0 / 3
Регистрация: 11.12.2016
Сообщений: 137
04.12.2019, 19:54  [ТС] 5
Цитата Сообщение от qwertehok Посмотреть сообщение
покажи запрос
SQL
1
2
3
4
INSERT INTO users(login, pass, lvl)
VALUES ('xxxx', 'yyyy', 9)
 
SELECT * FROM account
я пробовал так:
SQL
1
2
3
4
INSERT INTO users(user_id,login, pass, lvl)
VALUES (NULL, 'xxxx', 'yyyy', 9)
 
SELECT * FROM account
тогда пишет нельзя NULL или DEFAULT
а без user_id пишет не хватает user_id
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,271
04.12.2019, 21:41 6
Цитата Сообщение от Руслан997 Посмотреть сообщение
SQL
1
2
3
4
INSERT INTO users(login, pass, lvl)
VALUES ('xxxx', 'yyyy', 9)
 
SELECT * FROM account
я пробовал так:
SQL
1
2
3
4
INSERT INTO users(user_id,login, pass, lvl)
VALUES (NULL, 'xxxx', 'yyyy', 9)
 
SELECT * FROM account
тогда пишет нельзя NULL или DEFAULT
а без user_id пишет не хватает user_id
Напишите здесь CREATE TABLE users(...)
0
0 / 0 / 3
Регистрация: 11.12.2016
Сообщений: 137
04.12.2019, 22:00  [ТС] 7
Цитата Сообщение от iap Посмотреть сообщение
Напишите здесь CREATE TABLE users(...)
я не очень понял вас. в про это ?
SQL
1
2
3
4
5
6
7
8
9
10
CREATE TABLE [dbo].[users](
    [user_id] [INT] IDENTITY(1,1) NOT NULL,
    [login] [nvarchar](50) NOT NULL,
    [pass] [nvarchar](50) NOT NULL,
    [lvl] [INT] NOT NULL,
 CONSTRAINT [PK_users] PRIMARY KEY CLUSTERED 
(
    [user_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
05.12.2019, 10:58 8
когда первое поле IDENTITY нельзя в него передавать NULL

просто
T-SQL
1
2
INSERT INTO users(login, pass, lvl)
VALUES ('xxxx', 'yyyy', 9)
а ID добавится очередное
0
0 / 0 / 3
Регистрация: 11.12.2016
Сообщений: 137
05.12.2019, 21:39  [ТС] 9
Цитата Сообщение от qwertehok Посмотреть сообщение
когда первое поле IDENTITY нельзя в него передавать NULL
я уже пытался так делать получаю сообщение: 515, уровень: 16, состояние: 2, процедура: Products_INSERT, строка: 5 [строка начала пакета: 0]
Не удалось вставить значение NULL в столбец "user_id", таблицы "multuser.dbo.account"; в столбце запрещены значения NULL. Ошибка в INSERT.
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
05.12.2019, 22:19 10
Цитата Сообщение от Руслан997 Посмотреть сообщение
я уже пытался так делать
ты с первого раза не понял что надо еще и код показывать?
0
0 / 0 / 3
Регистрация: 11.12.2016
Сообщений: 137
05.12.2019, 22:41  [ТС] 11
Цитата Сообщение от qwertehok Посмотреть сообщение
ты с первого раза не понял что надо еще и код показывать?
я не понял почему он после пересоздание базы все сработала спасибо
0
05.12.2019, 22:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2019, 22:41
Помогаю со студенческими работами здесь

Создание триггера
Здравствуйте, пытаюсь написать триггер, который прежде чем выполниться удаление в таблице Cashiers...

Создание триггера
Товарищи, ай нид хелп имедиатли!!! Нужно сделать триггер для базы данных авто-мастерской, который...

Создание триггера до удаления записи и триггера после удаления записи
Есть БД на рис. пишу триггер при удаление клиента что бы сначала до удаления удалилась таблица...

Создание триггера по времени
Доброго времени суток, форумчане! Есть такая задача: написать триггер, который будет срабатывать,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru