Но интересует именно как в другую БД вставлять.Перед именем таблицы поставьте название БД. Естественно пользователь должен иметь нужные права.
INSERT INTO Gamege.dbo.TestTable (f1)
VALUES ('test')
SELECT @val = (SELECT val FROM inserted)Грубая ошибка. В inserted (таблица) находится не одна запись. Нужно использовать либо курсор, либо соединение таблиц.
А как с курсором это будет выглядеть?
CREATE TRIGGER AlbumRoleInsert ON AlbumRole INSTEAD OF INSERT AS
BEGIN
DECLARE @ALB INT, @PRF INT, @ROL VARCHAR(500), @mas INT, @pla BIT, @mem BIT, @gue BIT
DECLARE @ID INT, @RLR VARCHAR(500)
DECLARE LISTROLE CURSOR LOCAL FAST_FORWARD FOR
SELECT Album, Master, Performer, Play, Member, Role, SpecialGuest
FROM Inserted
OPEN LISTROLE
FETCH LISTROLE INTO @ALB, @mas, @PRF, @pla, @mem, @ROL, @gue
WHILE @@FETCH_STATUS = 0 BEGIN
-- Есть запись?
IF EXISTS( SELECT * FROM AlbumRole WHERE (Album = @ALB) AND (Performer = @PRF)) BEGIN
SELECT @ID = ID, @RLR = Role FROM AlbumRole WHERE (Album = @ALB) AND (Performer = @PRF)
-- Есть роль?
IF ( CHARINDEX( @ROL, @RLR) = 0 ) SET @RLR = @RLR + ', ' + @ROL
IF ( @RLR IS NULL ) SET @RLR = @ROL
-- Обновление списка.
UPDATE AlbumRole SET Role = @RLR WHERE ID = @ID
END ELSE BEGIN
-- Добавление:
INSERT INTO AlbumRole ( Album, Master, Performer, Play, Member, Role, SpecialGuest )
VALUES( @ALB, @mas, @PRF, @pla, @mem, @ROL, @gue )
END
-- Следующее поле
FETCH LISTROLE INTO @ALB, @mas, @PRF, @pla, @mem, @ROL, @gue
END
CLOSE LISTROLE
DEALLOCATE LISTROLE
END
--
GO
Существует ли библиотека или апи работы с несколькими мониторами?Да, драйвер видео-карты в Windows.
Поэтому я и задал такой вопрос, так как банально не знаю, как еще могу реализовать, чтобы файл был в нескольких категориях одновременно и спокойно искался по базе.У вас проблема с СУБД. Она не поддерживает операции со списками: STRING_SPLIT (Transact-SQL).
В общем помогите.Я использую отдельный физический диск и настраиваю резервное копирование на него. Сначала создается полная копия системного раздела, а потом только разница. При заполненности этого диска удаляются самые старые копии Соответственно и восстановится можно на любую дату. Я говорю про штатную систему.
в БД есть строки дубликаты, но их надо вычистить.Сначала надо убрать "грязные" данные. Например,
(5, 50, N'Юрий', 25),
(6, 50, N'Юрий', NULL),
Он должен автоматом почистить БД
WHILE NOT (SELECT TOP (1) COUNT(ACC_ID) FROM People GROUP BY ACC_ID HAVING (COUNT(ACC_ID) > 1)) IS NULL BEGIN
DELETE FROM People
WHERE (USER_ID IN ( SELECT MAX(USER_ID) FROM People GROUP BY ACC_ID HAVING (COUNT(ACC_ID) > 1)))
END