вовсе не обязательно разбивать на несколько команд – читайте Books Online на тему "create authorization schema". не знаю, как в предыдущих версиях, но уже в 2000 (8.0) работает. хинт: create authorization schema … – это одна сложная команда.
вопрос вновь недопонят. возможно создание приведенной схемы (а также множества подобных) одной командой. кроме того, ответ последует не мгновенно, а не менее, чем через 4/30 секунды (approx 0.1333s), если, конечно, не прибегать к передаче сигналов со сверхсветовыми скоростями.
Ответ от сервера последует мгновенно… насколько позволит пропускная способность канала, связывающая тебя с MSSQL сервером….
может вопрос опять недопонят?
create table TT1 (C1 int not null primary key)
create table TT2 (C1 int not null primary key)
alter table TT1 add C2 int not null default(0) references TT2 (C1)
alter table TT2 add C2 int not null default(0) references TT1 (C1)
автор жжот, вопрос не был понят. я заранее знаю, _что_ мне нужно. другое дело, что некоторые таблицы ссылаются друг на друга и банальными create table здесь не обойтись.
итак, пусть, по-прежнему, требуется создать только две таблицы. и сервер, пусть, расположен на строго на противоположной стороне шарика. как наиболее быстро создать две приводившиеся ранее таблицы на том далеком сервере? например, за четверть секунды (с получением ответа удаленного сервера)?
set @crt='create table TT@n (C1 int not null primary key)'
set @ar='alter table TT@n add C2 int not null default(0) references TT@m (C1)'
declare @n int, @max int
set @max=100
set @n=1 set @n=2
set @exec =replace(@crt,'@n',cast(@n as varchar(25)))
print @exec
exec(@exec)
while @n<@max
begin
set @exec =replace(@crt,'@n',cast(@n as varchar(25)))
print @exec
exec(@exec)
set @exec =replace(replace(@ar,'@n',cast(@n-1 as varchar(25))),'@m',cast(@n as varchar(25)))
print @exec
exec(@exec)
set @n=@n+1
end
set @exec =replace(replace(@ar,'@n',cast(@n-1 as varchar(25))),'@m','1')
print @exec
exec(@exec)
> 1. Какого рода ссылки подразумеваются?
> 2. Какие из таблиц будут создаваться.. временные или постоянные?
> 3. Как часто таблицы будут создаваться?
1. например, требуется наиболее быстро получить вот такое:
create table T1 (C1 int not null primary key, C2 int not null references T2 (C1))
create table T2 (C1 int not null primary key, C2 int not null references T1 (C1))
2. постоянные
3. не суть важно
В место имени сервера легко подставляется IP адрес…. чтобы без особых проблем использовать нетбиос имена – лучше их прописывать вместе с доменом…. ну или на клиентских машинах прописывать алиасы….(между прочим в алиасах можно указывать как нетбиос имя так и сетевой адрес)
Соединяюсь с MSSQL через ADO. Сервер расположен на компьютере, IP которого известно. Интересует, как будет выглядеть connection string. Хотелось бы вариант с IP-адресом и именем NetBIOS.
26 ноября 2008 в 22:03
читайте еще. там есть еще кучка хитростей.
25 ноября 2008 в 11:00
#17 "… – это одна сложная команда." – если только понимать "сложность" в смысле "это одна составная команда"…т.к. синтаксис её совершенно не сложный…
25 ноября 2008 в 1:05
прочитал….я лузер – не знал я этого….
24 ноября 2008 в 23:03
вовсе не обязательно разбивать на несколько команд – читайте Books Online на тему "create authorization schema". не знаю, как в предыдущих версиях, но уже в 2000 (8.0) работает. хинт: create authorization schema … – это одна сложная команда.
24 ноября 2008 в 20:05
#7, Валерий [Папа-Вольт] Волков
Спасибо.
24 ноября 2008 в 12:03
#14
В любом случае одной командой это не выполнить – необходимо разбивать на несколько…. по крайней мере в MSSQL 6.5, 2000, 2005
23 ноября 2008 в 21:01
вопрос вновь недопонят. возможно создание приведенной схемы (а также множества подобных) одной командой. кроме того, ответ последует не мгновенно, а не менее, чем через 4/30 секунды (approx 0.1333s), если, конечно, не прибегать к передаче сигналов со сверхсветовыми скоростями.
23 ноября 2008 в 18:03
Ответ от сервера последует мгновенно… насколько позволит пропускная способность канала, связывающая тебя с MSSQL сервером….
может вопрос опять недопонят?
23 ноября 2008 в 18:02
Так а что мешает выполнить скрипт в QA?:
create table TT1 (C1 int not null primary key)
create table TT2 (C1 int not null primary key)
alter table TT1 add C2 int not null default(0) references TT2 (C1)
alter table TT2 add C2 int not null default(0) references TT1 (C1)
23 ноября 2008 в 17:05
автор жжот, вопрос не был понят. я заранее знаю, _что_ мне нужно. другое дело, что некоторые таблицы ссылаются друг на друга и банальными create table здесь не обойтись.
итак, пусть, по-прежнему, требуется создать только две таблицы. и сервер, пусть, расположен на строго на противоположной стороне шарика. как наиболее быстро создать две приводившиеся ранее таблицы на том далеком сервере? например, за четверть секунды (с получением ответа удаленного сервера)?
23 ноября 2008 в 17:02
declare @crt varchar(255)
declare @ar varchar(255)
declare @exec varchar(255)
set @crt='create table TT@n (C1 int not null primary key)'
set @ar='alter table TT@n add C2 int not null default(0) references TT@m (C1)'
declare @n int, @max int
set @max=100
set @n=1 set @n=2
set @exec =replace(@crt,'@n',cast(@n as varchar(25)))
print @exec
exec(@exec)
while @n<@max
begin
set @exec =replace(@crt,'@n',cast(@n as varchar(25)))
print @exec
exec(@exec)
set @exec =replace(replace(@ar,'@n',cast(@n-1 as varchar(25))),'@m',cast(@n as varchar(25)))
print @exec
exec(@exec)
set @n=@n+1
end
set @exec =replace(replace(@ar,'@n',cast(@n-1 as varchar(25))),'@m','1')
print @exec
exec(@exec)
23 ноября 2008 в 17:02
Указываешь значение в @max=10000
и получаешь очень много таблиц со ссылками …. одна указывает на другую…
21 ноября 2008 в 8:02
#3, Валерий [Папа-Вольт] Волков
> 1. Какого рода ссылки подразумеваются?
> 2. Какие из таблиц будут создаваться.. временные или постоянные?
> 3. Как часто таблицы будут создаваться?
1. например, требуется наиболее быстро получить вот такое:
create table T1 (C1 int not null primary key, C2 int not null references T2 (C1))
create table T2 (C1 int not null primary key, C2 int not null references T1 (C1))
2. постоянные
3. не суть важно
21 ноября 2008 в 1:03
#6 IP адрес – это хорошо… netbios тоже, а вот аутентификация какая? На уровне mssqlили windows authentification?
интегрированная (windows) sql2000:"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DataBase1;Data Source=SERVERNAME1"
интегрированная (windows) sql2005:"Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB2005;Data Source=SQLSERVER2005"
MSSQL:"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=user1;Initial Catalog=DataBase1;Data Source=SERVERNAME1;Password=suser1"
MSSQL2005:"Provider=SQLNCLI.1;Persist Security Info=False;User ID=suser;Initial Catalog=DB2005;Data Source=SQLSERVER2005;Password=suser2"
В место имени сервера легко подставляется IP адрес…. чтобы без особых проблем использовать нетбиос имена – лучше их прописывать вместе с доменом…. ну или на клиентских машинах прописывать алиасы….(между прочим в алиасах можно указывать как нетбиос имя так и сетевой адрес)
20 ноября 2008 в 20:01
Соединяюсь с MSSQL через ADO. Сервер расположен на компьютере, IP которого известно. Интересует, как будет выглядеть connection string. Хотелось бы вариант с IP-адресом и именем NetBIOS.
20 ноября 2008 в 14:01
#3
Смотрите в MSSQL 2005…
20 ноября 2008 в 14:00
#2
1. Какого рода ссылки подразумеваются?
2. Какие из таблиц будут создаваться.. временные или постоянные?
3. Как часто таблицы будут создаваться?
ЗЫ:
CREATE TABLE xxx…..
ЗЫ2: конкретизируйте вопросы
20 ноября 2008 в 8:01
Поддержка XQuery тама есть? С валидацией по RELAX-NG/Schematron, естественно.
20 ноября 2008 в 0:05
требуется создать большое количество ссылающихся друг на друга таблиц. как это сделать максимально быстро?