Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нужна помощь по составлению процедуры  [new]
Гость_666
Guest
добрый день уважаемые.
я хотел у специалистов попросить оказать помощь в составлении процедуры. у меня есть скрипт на PHP, который производит запрос MSSQL и вызывает процедуру, так вот, мне нужно составить одну процедуру, которая заменит весь скрипт. для ее последующего запуска с периодом в 20 минут.


СКЛ запрос:

select user_activeskill.char_id,user_data.char_name,user_data.account_name,
user_activeskill.s1,user_activeskill.s2,user_activeskill.s3,user_activeskill.s4,user_activeskill.s5,
user_activeskill.s6,user_activeskill.s7,user_activeskill.s8,user_activeskill.s9,user_activeskill.s10,
user_activeskill.s11,user_activeskill.s12,user_activeskill.s13,user_activeskill.s14,user_activeskill.s15,
user_activeskill.s16,user_activeskill.s17,user_activeskill.s18,user_activeskill.s19,user_activeskill.s20
from user_activeskill,user_data
where (((s1=s2) and (s1<>0) and (s2<>0)) and user_data.char_id=user_activeskill.char_id)



вызов процедуры:

<?
$stmt=mssql_init("lin_DeleteChar");
mssql_bind($stmt, "@char_id", "значение из результата SQL запроса", SQLINT4);
$result = mssql_execute($stmt);
?>



Исходник вызываемой процедуры lin_DeleteChar:

/****** Object: Stored Procedure dbo.lin_DeleteChar ******/
lin_DeleteChar
Delete character sp
INPUT
@char_id INT
OUTPUT
item_id
return
made by
carrot
date
2002-02-16
Update all item and return item_ids
********************************************/
CREATE PROCEDURE [DBO].[lin_DeleteChar]
(
@char_id INT
)
AS

SET NOCOUNT ON

DECLARE @backup_char_name NVARCHAR(50)
DECLARE @original_account_id INT
DECLARE @original_char_name NVARCHAR(50)
DECLARE @original_account_name NVARCHAR(50)
DECLARE @create_date datetime

set @original_account_id = 0
SELECT
@original_account_id = account_id
,@original_char_name = char_name
,@original_account_name = account_name
,@create_date = create_date
FROM user_data
WHERE char_id = @char_id

SELECT @backup_char_name = @original_char_name + '_' + LTRIM(STR(@original_account_id)) + '_' + LTRIM(STR(@char_id))

UPDATE user_data
SET account_id = -1
, char_name = @backup_char_name
, pledge_id = 0
WHERE char_id = @char_id

INSERT INTO user_deleted
(char_id, delete_date) VALUES (@char_id, GETDATE())

--DECLARE @tempItemIDtable TABLE (item_id INT)
--INSERT INTO @tempItemIDtable
--SELECT item_id FROM user_item WHERE char_id = @char_id
--UPDATE user_item SET char_id = 0, item_type = 0, amount = 0, enchant = 0, eroded = 0, bless = 0, ident = 0, wished = 0, warehouse = 0 WHERE char_id = @char_id
--SELECT item_id FROM @tempItemIDtable

SELECT item_id FROM user_item WHERE char_id = @char_id

if @original_account_id > 0
begin
-- make user_history
exec lin_InsertUserHistory @original_char_name, @char_id, 2, @original_account_name, @create_date
end
GO
2 авг 05, 12:46    [1755168]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь по составлению процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
так вот, мне нужно составить одну процедуру, которая заменит весь скрипт. для ее последующего запуска с периодом в 20 минут.
А в чем конкретно проблема ?
2 авг 05, 14:37    [1755821]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить