sql-server-2005- все статьи тега ➜ страница 2


Как удалить ограничение внешнего ключа, только если оно существует в sql server?

Я могу удалить таблицу, если она существует, используя следующий код, но не знаю как сделать то же самое с ограничением: IF EXISTS(SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'TableName') AND type = (N'U')) DROP TABLE TableName go Я также добавляю ограничение, используя этот код: ALTER TABLE [dbo].[TableName] WITH CHECK ADD CONSTRAINT [FK_TableName_TableName2] FOREIGN KEY([FK_Name]) REFERENCES [dbo].[TableName2] ([ID]) go ...

Как использовать предложение вывода инструкции INSERT для получения значения идентификатора?

если у меня есть инструкция insert, например: INSERT INTO MyTable ( Name, Address, PhoneNo ) VALUES ( 'Yatrix', '1234 Address Stuff', '1112223333' ) как мне установить @var INT к значению идентификатора новой строки (называется Id) С помощью предложения OUTPUT? Я видел образцы сдачи INSERTED.Name например, в табличные переменные, но я не могу получить его в переменную без таблицы. Я пробовал OUPUT INSERTED.Id AS @var,SET @var = INSERTED.Id, но ни один из них не работал. ...

Лучший способ сделать вложенную логику оператора case в SQL Server

в настоящее время я пишу SQL-запрос, где несколько возвращенных столбцов должны быть вычислены в зависимости от довольно большого количества условий. в настоящее время я использую вложенные операторы case, но это становится грязным. Есть ли лучший (более организованный и/или читаемый) способ? (Я использую Microsoft SQL Server, 2005) упрощенный пример: SELECT col1, col2, col3, CASE WHEN condition THEN CASE WHEN condition1 ...

SQL Server эквивалент статистической функции COUNTIF

Я строю запрос с GROUP BY предложение, которое требует возможности подсчета записей, основанных только на определенном условии (например, подсчитывать только записи, где определенное значение столбца равно 1). SELECT UID, COUNT(UID) AS TotalRecords, SUM(ContractDollars) AS ContractDollars, (COUNTIF(MyColumn, 1) / COUNT(UID) * 100) -- Get the average of all records that are 1 FROM dbo.AD_CurrentView GROUP BY UID HAVING SUM(ContractDollars) >= 500000 The COUNTI ...

Преобразование строки Sql Server в дату

Я хочу преобразовать строку следующим образом: '10/15/2008 10:06:32 PM' в эквивалентное значение DATETIME в Sql Server. в Oracle, я бы сказал так: TO_DATE('10/15/2008 10:06:32 PM','MM/DD/YYYY HH:MI:SS AM') этот вопрос подразумевает, что я должен разобрать строку в одну из стандартные форматы, а затем конвертировать с помощью одного из этих кодов. Это кажется нелепым для такой мирской операции. Есть ли более простой способ? ...

Как рассчитать возраст (в годах) на основе даты рождения и getDate()

у меня есть таблица с перечислением людей вместе с их датой рождения(в настоящее время nvarchar (25)) Как я могу преобразовать это в дату, а затем вычислить их возраст в годах? мои данные выглядят следующим образом ID Name DOB 1 John 1992-01-09 00:00:00 2 Sally 1959-05-20 00:00:00 Я хотел бы видеть: ID Name AGE DOB 1 John 17 1992-01-09 00:00:00 2 Sally 50 1959-05-20 00:00:00 ...

Как получить время из формата DateTime в SQL?

Я хочу получить только время из столбца DateTime с помощью SQL-запроса использование SQL Server 2005 и 2008 Вывод по умолчанию: AttDate == 2011-02-09 13:09:00 2011-02-09 14:10:00 Я хотел бы этот вывод: AttDate Time == 2011-02-09 13:09:00 13:09 2011-02-09 14:10:00 14:10 ...

Что такое использование квадратных скобок [] в SQL-операторах?

Я заметил, что Visual Studio 2008 помещает квадратные скобки вокруг имен столбцов в sql. Дают ли скобки какие-либо преимущества? Когда я передаю код T-SQL, я никогда не беспокоился о них. пример: Визуальная Студия: Выберите [столбец1], [столбец2] и т. д... мой собственный путь: Выберите столбец1, столбец2 и т. д... ...

SQL-сервер, преобразование именованного экземпляра к экземпляру по умолчанию?

Мне нужно преобразовать именованный экземпляр SQL server 2005 В экземпляр по умолчанию. есть ли способ сделать это без переустановки? проблема в том, что 2 из 6 разработчиков установлены с именованным экземпляром. Так что его становится боль изменения строки подключения для других 4 из нас. Я ищу путь наименьшего сопротивления, чтобы вернуть эти 2 обратно в стандартную настройку наших команд. каждый выразил, что это будет, слишком много хлопот и что это отнимет у них время разработки. Я пр ...

Ошибка восстановления SQL Server-Доступ запрещен

Я создал базу данных на моей локальной машине, а потом сделал резервную копию под названием tables.bak таблицы DataLabTables. я переместил эту резервную копию на удаленную машину без этой таблицы и попытался выполнить восстановление, но получил следующую ошибку: ...

Разбор можно использовать адрес улицы, город, штат, Zip из строки [закрыто]

проблема: у меня есть поле адреса из базы данных Access, которая была преобразована в Sql Server 2005. Это поле имеет все в одном поле. Мне нужно разобрать отдельные разделы адреса в соответствующие поля в нормализованной таблице. Мне нужно сделать это для примерно 4000 записей, и это должно быть повторяемо. предположения: предположим, что адрес в США (на данный момент) предположим, что входная строка иногда будет содержать адресата (лицо, к которому обращаются) и / или второй адрес улицы (Т. ...

Разница между базой данных и схемой

в чем разница между базой данных и схемой в SQL Server? Оба являются контейнерами таблиц и данных. Если схема удалена, то все таблицы, содержащиеся в этой схеме, также удаляются автоматически или они удаляются при удалении базы данных? ...

Как скопировать запись в таблицу SQL, но поменять уникальный идентификатор новой строки?

этот вопрос близок к тому, что мне нужно, но мой сценарий немного отличается. Исходная таблица и таблица назначения совпадают, а первичный ключ-это uniqueidentifier (guid). Когда я пытаюсь это сделать: insert into MyTable select * from MyTable where uniqueId = @Id; Я, очевидно, получаю нарушение ограничения первичного ключа, так как я пытаюсь скопировать первичный ключ. На самом деле, я вообще не хочу копировать первичный ключ. Скорее, я хочу создать новый. Кроме того, я хотел бы выборочн ...

Сколько размер "Null" значение принимает в SQL Server

У меня есть большая таблица с 10 колонками. 4 из них остается пустым большую часть времени. У меня есть запрос, который делает нулевое значение принимает любой размер или размер в байтах. Я прочитал несколько статей, некоторые из них говорят: http://www.sql-server-citation.com/2009/12/common-mistakes-in-sql-server-part-4.html Существует ошибочное мнение, что если у нас есть значения NULL в таблице, она не занимает места для хранения. Дело в том, что значение NULL занимает место – 2 байта ...

Тип данных для хранения ip-адреса в SQL Server

какой тип данных следует выбрать для хранения IP-адреса в SQL Server? выбрав правильный тип данных, будет ли достаточно легко фильтровать по IP-адресу? ...

Как изменить имя таблицы с помощью SQL-запроса?

Как я могу изменить имя таблицы с помощью запроса? я использовал следующий синтаксис, но не смог найти ключевое слово rename в SQL server 2005. Alter table Stu_Table rename to Stu_Table_10 ...

В чем разница между хранимой процедурой и видом?

Я запутался в нескольких пунктах: в чем разница между хранимой процедурой и видом? когда следует использовать хранимые процедуры и когда следует использовать представления в SQL Server? позволяют ли представления создавать динамические запросы, где мы можем передавать параметры? какой из них самый быстрый, и на каком основании один быстрее, чем другие? выделяют ли представления или хранимые процедуры память постоянно? Что это значит, если кто-то говорит, что представления создают виртуальную ...

Разница между триггерами FOR и AFTER?

в чем разница между триггерами FOR и AFTER? ...

Не удается запустить распределенную транзакцию

я пытаюсь запустить SQL против связанного сервера, но я получаю ошибки. BEGIN DISTRIBUTED TRANSACTION SELECT TOP 1 * FROM Sessions OLE DB provider "SQLNCLI" for linked server "ASILIVE" returned message "No transaction is active.". Msg 7391, Level 16, State 2, Line 3 The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ASILIVE" was unable to begin a distributed transaction. поставщик возвращает две ошибки: Ошибка #1: Number: 040E14 Source: Microsoft OL ...

Как получить "дату начала недели" и "дату окончания недели" из номера недели в SQL Server?

у меня есть запрос, который подсчитывает свадебные даты в базе данных... Select Sum(NumberOfBrides) As [Wedding Count], DATEPART( wk, WeddingDate) as [Week Number], DATEPART( year, WeddingDate) as [Year] FROM MemberWeddingDates Group By DATEPART( year, WeddingDate), DATEPART( wk, WeddingDate) Order By Sum(NumberOfBrides) Desc Как мне работать, когда начало и конец каждой недели представлены в результирующем наборе? Select Sum(NumberOfBrides) As [Wedding Count], DATEPAR ...