Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование таблиц и полей в качестве параметров хранимых про-


Kostafey ©   (2007-09-22 00:58:00) 

-цедур TSQL (MS SQL Server 2005). Идея в следующем:

use [SomeDataBase]
GO
IF OBJECT_ID ('CleanTable', 'P') IS NOT NULL
   DROP PROCEDURE CleanTable
GO
CREATE PROCEDURE CleanTable(@TableName char, @FieldName char, @NumberOfFields int)
AS
DELETE FROM @TableName WHERE @FieldName not in
(select TOP(@NumberOfFields) @FieldName from @TableName);
GO
EXECUTE CleanTable 'FRC3', 'N_ZVK', 3;
EXECUTE CleanTable 'FRC41', 'N_ZVK', 3;
...


Правда он вылетает с сообщением
Msg 1087, Level 15, State 2, Procedure CleanTable, Line 3
Must declare the table variable "@TableName"


Megabyte   (2007-09-24 10:23:00) [1]

Справку читаем по встроенной ХП sp_executesql


Gadenysh   (2007-09-23 13:23:00) [2]

BOL - Exec


Kostafey   (2007-09-22 02:30:00) [3]

> [6] Turbouser ©   (22.09.07 01:49)

Н-да, тяжеловато разобраться...


Turbouser   (2007-09-22 01:49:00) [4]

> [5] Kostafey ©   (22.09.07 01:43)

rtfm BOL или что там у мс


Kostafey   (2007-09-22 01:43:00) [5]

> А насчет генератора кода — достаточно к системным таблицам
> построить запрос и все дела.

Это как?


Turbouser   (2007-09-22 01:36:00) [6]

> [1] Kostafey ©   (22.09.07 01:01)

Бред в чистом виде. такое лучше реализовывать на клиенте/сервере приложений.
> [3] Kostafey ©   (22.09.07 01:31)

Честно — незнаю как в mssql, но в fb к примеру, есть execute statement
я по потому такую идею бредом назвал, т.к. в свое время с этим самым
execute statement очень плотно работал :) в итоге всеравно лучше
обходиться без таких «универсальных» средств.
А насчет генератора кода — достаточно к системным таблицам построить
запрос и все дела.


Kostafey   (2007-09-22 01:31:00) [7]

> Бред в чистом виде. такое лучше реализовывать на клиенте/сервере
> приложений.

Бред-то бред. Но мне никак не верится, что такое седствами SQL
нельзя реализовать. Задача ведь по сути разовая.
Писать под нее приложение?

Проще уж тогда генератор кода найти да влоб команды SQL
сгенерировать без использования Procedure.


Turbouser   (2007-09-22 01:28:00) [8]

> [1] Kostafey ©   (22.09.07 01:01)

Бред в чистом виде. такое лучше реализовывать на клиенте/сервере приложений.


Kostafey   (2007-09-22 01:01:00) [9]

> @NumberOfFields

Читать как @NumberOfRecords


Наверх

Титульная страница Поиск, карта сайта Написать письмо