Вниз
Скачать: CL | DM;

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

← →
Kostafey ©   (2007-09-22 00:58) [0]

-цедур 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"


← →
Kostafey ©   (2007-09-22 01:01) [1]

> @NumberOfFields

Читать как @NumberOfRecords


← →
Turbouser ©   (2007-09-22 01:28) [2]

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

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


← →
Kostafey ©   (2007-09-22 01:31) [3]

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

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

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


← →
Turbouser ©   (2007-09-22 01:36) [4]

> [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:43) [5]

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

Это как?


← →
Turbouser ©   (2007-09-22 01:49) [6]

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

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


← →
Kostafey ©   (2007-09-22 02:30) [7]

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

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


← →
Gadenysh   (2007-09-23 13:23) [8]

BOL - Exec


← →
Megabyte ©   (2007-09-24 10:23) [9]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
11-1183016834
LazyBob
2007-06-28 11:47
2008.01.27
работа с несколькими формами


15-1198169940
Pazitron_Brain
2007-12-20 19:59
2008.01.27
Решил пользоваться скайп


2-1199032641
den11111
2007-12-30 19:37
2008.01.27
Что делаю не так с запуском ярлыка


2-1198586565
Kolan
2007-12-25 15:42
2008.01.27
Запуск долгой операции через ADO, ошибка «Время ожидания вышло»&#133


2-1199268328
Max.66RUS
2008-01-02 13:05
2008.01.27
Самоудаление программы по нажатию на кнопку...




   Наверх