Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Интернет -

Microsoft SQL Server - Общие вопросы

Все примеры / Общие вопросы

Построение и выполнение динамического SQL-запроса

Автор: Интернет | добавлено: 04.02.2011, 20:48 | просмотров: 3473 (1+) | комментариев: 0 | рейтинг: *x0
Пример демонстрирует программное построение и выполнение SQL-запроса.

Код

-- таблица, чтобы было на чем показывать пример
CREATE TABLE Orders (
OrderID int IDENTITY (1, 1) NOT NULL ,
CustomerID nchar (5) NULL ,
EmployeeID int NULL ,
OrderDate datetime NULL ,
RequiredDate datetime NULL ,
ShippedDate datetime NULL ,
ShipVia int NULL ,
Freight money NULL DEFAULT (0),
ShipName nvarchar (40) NULL ,
ShipAddress nvarchar (60) NULL ,
ShipCity nvarchar (15) NULL ,
ShipRegion nvarchar (15) NULL ,
ShipPostalCode nvarchar (10) NULL ,
ShipCountry nvarchar (15) NULL
)
GO

-- основная часть примера, здесь будет динамически формироваться SQL-код
DECLARE
   @schemaname AS NVARCHAR(128),
   @tablename  AS NVARCHAR(128),
   @colname    AS NVARCHAR(128),
   @sql        AS NVARCHAR(805);

SET @schemaname = N'dbo';
SET @tablename  = N'Orders';
SET @colname    = N'CustomerID';
SET @sql = N'SELECT COUNT(DISTINCT '
   + QUOTENAME(@colname) + N') FROM '
   + QUOTENAME(@schemaname)
   + N'.'
   + QUOTENAME(@tablename)
   + N';';

-- выполняем SQL-инструкцию, указанную в переменной @sql
EXEC(@sql);
GO

-- удаляем таблицу, которая была создана в качестве примера
drop table orders;
GO
Об авторе

Интернет

Анонимный пользователь сети Интернет. Автор великого множества кодов и программных решений. Никого никогда не видел в лицо этого пользователя, ходят слухи, что он многоликий, и может одновременно находиться в разных частях света.
Интернет
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Реклама
Счетчики