Вниз
Скачать: 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
2-1197404563
Rustam
2007-12-11 23:22
2008.01.27
пинг


2-1199336058
Dana
2008-01-03 07:54
2008.01.27
Tab на Enter


2-1198561743
uno
2007-12-25 08:49
2008.01.27
Компанент UdpSocket


2-1198727890
Washington
2007-12-27 06:58
2008.01.27
Виртуальная память, оперативная память


15-1197987450
ПЛОВ
2007-12-18 17:17
2008.01.27
Учет техники на предприятии (в електронном виде)




   Наверх