Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
Собственно вопрос указан в названии темы... Как стандартно удалить роль я знаю, через drop role "имя роли", как правильно задать условие, подскажите? Если можно то, укажите пример скрипта... За вопрос прошу не пинать, я в SQL новичок...
1 июл 12, 18:35    [12800842]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
2GarinZmey,

declare @sql nvarchar(max) = convert(nvarchar(max), N'') 
			+ ( select    N'drop role [' + rl.name + ']; ' as 'text()'
				from      sys.database_principals as rl
				where     ( rl.type = 'R' )
						and ( rl.principal_id <= 16383
								or rl.principal_id >= 16400
							)
						and name != 'public'
						and name like '%MyRole%' -- <<< СУДЫ ПИШИТЕ ЧАСТЬ ИМЕНИ РОЛИ
				order by  [Name] asc
				for xml path('')
        );
print @sql; 
exec sp_executesql @sql;
1 июл 12, 19:19    [12800919]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
Владимир, подскажите еще, пожалуйста, как правильно организовать связь "многие ко многим", между 2-мя таблицами, если можно, то приведите пожалуйста пример скрипта...
2 июл 12, 13:21    [12803590]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
2GarinZmey
Владимир, подскажите еще, пожалуйста, как правильно организовать связь "многие ко многим", между 2-мя таблицами, если можно, то приведите пожалуйста пример скрипта...
С помощью третьей таблицы.
2 июл 12, 13:22    [12803596]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
а можно пример привести, просто, как я уже писал, выше, я в SQL новичок...
2 июл 12, 13:37    [12803760]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
2GarinZmey,

-- книги
create table dbo.Book (
	  BookId int primary key
	, BookName varchar(50)
)

-- авторы
create table dbo.Author (
	  AuthorId int primary key
	, AuthorName varchar(50)
)   

-- книги авторов, или авторы книг
create table dbo.BookAuthors (
	  BookId int
        , AuthorId int 
	, primary key ( BookId, AuthorId )    
	, foreign key ( BookId ) references dbo.Book ( BookId )
	, foreign key ( AuthorId ) references dbo.Author ( AuthorId )
)


Таблица BookAuthors может содержать для одной книги BookId несколько авторов AuthorId, тоже самое у одного автора AuthorId может быть несколько книг BookId.
2 июл 12, 13:43    [12803823]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
спасибо за пример, буду пробовать....
2 июл 12, 14:21    [12804162]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
подскажите еще, пожалуйста, необходимо скопировать таблицу «test1» в таблицу «backup_test1», правильно ли я это делаю:

select * into dbo.backup_test1 from dbo.test1

как сделать так, чтобы ключи тоже скопировались???
3 июл 12, 16:45    [12811231]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
2GarinZmey
подскажите еще, пожалуйста, необходимо скопировать таблицу «test1» в таблицу «backup_test1», правильно ли я это делаю:

select * into dbo.backup_test1 from dbo.test1

как сделать так, чтобы ключи тоже скопировались???
Чтобы ключи "скопировались", нужно выполнить команду alter table для новой таблицы с созданием нужных ключей.
3 июл 12, 16:48    [12811257]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
Alexandr Kr.
Member

Откуда: Украина, Харьков
Сообщений: 165
2GarinZmey
подскажите еще, пожалуйста, необходимо скопировать таблицу «test1» в таблицу «backup_test1», правильно ли я это делаю:

select * into dbo.backup_test1 from dbo.test1

А вы проверьте и узнаете. Все же быстрее будет чем по каждому чиху на форум писать.

2GarinZmey
как сделать так, чтобы ключи тоже скопировались???


А это вообще о чем вопрос?
3 июл 12, 16:50    [12811267]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич
2GarinZmey
подскажите еще, пожалуйста, необходимо скопировать таблицу «test1» в таблицу «backup_test1», правильно ли я это делаю:

select * into dbo.backup_test1 from dbo.test1

как сделать так, чтобы ключи тоже скопировались???
Чтобы ключи "скопировались", нужно выполнить команду alter table для новой таблицы с созданием нужных ключей.


спасибо...
3 июл 12, 16:56    [12811321]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
Владимир Затуливетер
2GarinZmey,

-- книги
create table dbo.Book (
	  BookId int primary key
	, BookName varchar(50)
)

-- авторы
create table dbo.Author (
	  AuthorId int primary key
	, AuthorName varchar(50)
)   

-- книги авторов, или авторы книг
create table dbo.BookAuthors (
	  BookId int
        , AuthorId int 
	, primary key ( BookId, AuthorId )    
	, foreign key ( BookId ) references dbo.Book ( BookId )
	, foreign key ( AuthorId ) references dbo.Author ( AuthorId )
)


Таблица BookAuthors может содержать для одной книги BookId несколько авторов AuthorId, тоже самое у одного автора AuthorId может быть несколько книг BookId.


Владимир, подскажите, пожалуйста, как правильно добавить данные в созданную таблицу? Когда пытаюсь добавить, появляется сообщение об ошибке, что я пытаюсь добавить пустое значение, но значение не пустое, например:

insert into dbo.Book (BookName) values ('Ivanov')
16 июл 12, 08:54    [12870811]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
AlexMajic
Member

Откуда: Kiev
Сообщений: 99
insert into dbo.Book (BookId, BookName) values (1, 'Ivanov')
16 июл 12, 12:03    [12871831]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
AlexMajic
insert into dbo.Book (BookId, BookName) values (1, 'Ivanov')


спасибо за помощь, вы мне очень помогли...
16 июл 12, 14:22    [12872589]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
Подскажите, пожалуйста, мне необходимо добавить новую роль в БД и назначить ее пользователю, как правильно это сделать, при попытке выполнения скрипта, появляется ошибка:

use [master]
go
create server role [Test] authorization [sa]
go
alter server role [Test] add member [Ivanov]
go
17 июл 12, 00:43    [12875201]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
2GarinZmey
Подскажите, пожалуйста, мне необходимо добавить новую роль в БД и назначить ее пользователю, как правильно это сделать, при попытке выполнения скрипта, появляется ошибка:

use [master]
go
create server role [Test] authorization [sa]
go
alter server role [Test] add member [Ivanov]
go
Ну как только вы прекратите сочинять синтаксис и посмотрите его в справке, так сразу же у вас все наладится.
17 июл 12, 00:45    [12875210]     Ответить | Цитировать Сообщить модератору
 Re: Как с помощью sql-скрипта удалить роль в названии которой содержится определенное слово?  [new]
2GarinZmey
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич, спасибо, вроде как сам разобрался, буду пробовать.....
17 июл 12, 10:26    [12876198]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить