Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 18

Запуск процедуры SQL в PHP

16.08.2017, 00:35. Показов 1188. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Столкнулся с проблемой, с которой никогда не имел дело. Суть как бы проста, надо запускать процедуру SQL каждый раз, когда обновляется страничка. Но загвоздка в том, что я не могу понять суть этой работы. Т.е. если рассматривать как простой запрос, то в таком, ключе не работает код, а как сделать иначе, не понимаю. Подскажите кто в этом разбирается.
Итак, есть процедура, написанная не мной, а SQL-щиком.
Кликните здесь для просмотра всего текста
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
USE DB1
GO
 
IF OBJECT_ID ('proc_Control') IS NOT NULL DROP proc proc_Control
GO
 
CREATE proc dbo.proc_Control
(@TIME datetime OUTPUT) 
AS
BEGIN
 
 
IF OBJECT_ID('Control','Table') IS NOT NULL DROP TABLE [Control]
 
CREATE TABLE   dbo.[Control]
(
[ControlID] NUMERIC(35,0) IDENTITY NOT NULL,
[UserInfID] NUMERIC(35,0) NULL,
[UserFamily] VARCHAR(100),  
[ActionTime] datetime,
[ActionTime1] datetime,
[WorkTime] TIME(0),
[WorkTimeSec] INTEGER,
[COUNT] NUMERIC(35,0)
 
,CONSTRAINT US_ControlID PRIMARY KEY(ControlID)
)
 
DECLARE abc CURSOR FOR SELECT DISTINCT UserInfID FROM userdb.dbo.UserAction 
WHERE ActionTime>@TIME AND ActGroupID=1 AND ActionTypeID=1 AND ArrStationID=136 AND CompID=1 ORDER BY UserInfID
 
DECLARE @UserInfID NUMERIC(35,0)
DECLARE @UserFamily VARCHAR(100)
DECLARE @ActionTime datetime
DECLARE @ActionTime1 datetime
DECLARE @WorkTime INTEGER
DECLARE @WorkTime1 datetime
DECLARE @COUNT NUMERIC(35,0)
DECLARE @WorkTimeSec INTEGER
OPEN abc 
        FETCH NEXT FROM abc INTO @UserInfID
        WHILE (@@FETCH_STATUS=0)
        BEGIN
        
                     ...........................
        
DECLARE @OutParam INT
DECLARE @DATE datetime
DECLARE @datetek datetime
SET @datetek= GETDATE()
        IF Datepart(HOUR,@datetek)>=0   SET @DATE=CAST(CONVERT(VARCHAR(10), dateadd(DAY, -1, @datetek), 112)+' 23:30' AS datetime) 
        IF Datepart(HOUR,@datetek)>=12   SET @DATE=CAST(CONVERT(VARCHAR(10), @datetek, 112)+' 10:30' AS datetime) 
        IF Datepart(HOUR,@datetek)>=24  SET @DATE=CAST(CONVERT(VARCHAR(10), @datetek, 112)+' 23:30' AS datetime)    
    EXEC proc_Control @TIME=@DATE OUTPUT

Суть кода, в том, что в БД создается таблица, каждый раз новая, при обновлении запроса, и каждый раз туда записываются новые значение, актуальные только для того времени, когда обновляют запрос. В данный момент на веб узле сделано все вручную, т.е. чтобы получить свежие данные, надо зайти SQL-Manager Studio, запустить выполнение процедуры и уже на сайте, обновить страничку с информацией, там простой запрос к временной таблице в БД (через SELECT).

Как напрямую из PHP обратиться к процедуре и запустить ее для обновления информации, через конструкцию PDO? Везде в основном пишут, что надо через bindParam обращаться, но насколько я понял, это объявление параметров для процедуры. А как я понял из кода SQL там уже есть все необходимые параметры.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2017, 00:35
Ответы с готовыми решениями:

Получить в PHP OUTPUT параметры из процедуры MS SQL
Не получилось нигде найти пример получения кодом PHP OUTPUT параметров из процедуры MS SQL В MS SQL всё отрабатывает правильно -...

Запуск sql процедуры Job-ом из VBA
Все привет и хорошего дня. Подскажите, пжл. Создана процедура с 5-ью переменными передающимися из VBA, которая заливает таблицу,...

Запуск процедуры SQL Server через VBA
Уважаемые форумчане, кто подскажет можно ли при помощи VBA запустить процедуру SQL Server?

1
 Аватар для HotReboot
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136
18.08.2017, 10:46
Может это поможет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.08.2017, 10:46
Помогаю со студенческими работами здесь

Запуск процедуры выхода во время работы другой процедуры
как зделать процедуру которая будет запускаться так сказать вне очереди! ну или точнее суть проблемы : процедура из 6 шагов с...

Запуск процедуры с параметрами из процедуры
Подскажите как запускать процедуры с параметрами? как просто запустить вроде бы понятно, если она может не принимать значений. ...

Запуск PHP файла через другой php фили
Извеняюсь за чяйниковский Вопрос Как реализовать такую задачку есть срипт 1.PHP как зделать так чтобы при запуске файла 2.php...

Запуск процедуры из формы
Добрый день! Столкнулся с проблемой запуска процедуры из VB, находящуюся в Access. Private Sub Button3_Click(sender As Object, e As...

Запуск процедуры по времени
Добрый день. Возникла проблема в том, что не могу правильно написать процедуру выполнение которой происходит через каждые 3-и минуты. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru