Множественный SELECT в SQL скрипте - проблема с выборкой
chief, вообще-то SP, возвращаемая одновременно резалтсет и Output параметр выглядит как-то странно. Проще всего SP переписать.
Даже самый дурацкий замысел можно воплотить мастерски
SP возвращает только output параметр
в скрипте она вызывается, получается значение параметра, который далее используется
и завершается все это безобразие селектом, который-то мне и нужен
в скрипте она вызывается, получается значение параметра, который далее используется
и завершается все это безобразие селектом, который-то мне и нужен
Могу закинуть сам скрипт если кто-то захочет посоветовать по его сути
Хотя как мне посоветовали средствами php_sybase_ct.dll это никак
не провернуть
Хотя как мне посоветовали средствами php_sybase_ct.dll это никак
не провернуть
И еще вопрос. Как подавлять вывод именно резалтсетов если идет несколько селектов?
set nocount подавляет только сообщения.
Или их никак не подавить?
И что определяет резалтсет какого из этих селектов будет виден - настройки именно пхп,
модуля sybase под пхп или даже может быть sql сервера?
Можно такое, а?
set nocount подавляет только сообщения.
Или их никак не подавить?
И что определяет резалтсет какого из этих селектов будет виден - настройки именно пхп,
модуля sybase под пхп или даже может быть sql сервера?
Можно такое, а?
Боюсь по-другому суть твоей проблемы просто не понять.Могу закинуть сам скрипт
Не делать двух селектовКак подавлять вывод именно резалтсетов если идет несколько селектов?

Даже самый дурацкий замысел можно воплотить мастерски
<?php
global $login;
global $password;
global $language;
$sql_logging = "
set nocount on
----------------------------------- declaration -------------------------------
declare @lan_code t_a_code_langue
declare @lan_id t_n_id
declare @res_id t_n_id
declare @lan_nom varchar(255)
declare @login t_a_login
declare @pass t_a_password
declare @encpass t_a_password
declare @lc varchar(255)
declare @li varchar(255)
declare @ri varchar(255)
---------------------------- setting the input variables ----------------------
select @lan_nom = '$language'
select @login = '$login'
select @pass = '$password'
select @encpass = ''
------------------------------ encrypting the password ------------------------
execute opa_p_rhu_g_cryptage @pass, @encpass output
------------------------------ checking if user exist -------------------------
if exists(
select 1
from opa_ress_humaine
where rhu_login = @login and rhu_password = @encpass
)
begin
------------------------------ determinating user id --------------------------
select @res_id = res_id
from opa_ress_humaine
where rhu_login = @login
----------------------------- selecting the language details ------------------
select @lan_id = lan_id, @lan_code = lan_code
from opa_langue
where lan_nom = @lan_nom
------------------------------ registering the session -------------------------
select @lc = convert(varchar(255), @lan_code)
select @li = convert(varchar(255), @lan_id)
select @ri = convert(varchar(255), @res_id)
exec ses_p_param_set 'lan_code', @lc
exec ses_p_param_set 'lan_id', @li
exec ses_p_param_set 'res_id', @ri
end
set nocount off
select ses_id
from ses_param
where ses_key = 'res_id' and ses_value = @ri
";
/********************************************************************************
*************************** SELECTS LIST OF LANGUAGES ***************************
********************************************************************************/
$sql_lst_lang = "
select lan_nom
from opa_langue";
/********************************************************************************
*************************** SELECTS PROCESS ID **********************************
********************************************************************************/
$sql_pid = "
select @@spid";
?>
global $login;
global $password;
global $language;
$sql_logging = "
set nocount on
----------------------------------- declaration -------------------------------
declare @lan_code t_a_code_langue
declare @lan_id t_n_id
declare @res_id t_n_id
declare @lan_nom varchar(255)
declare @login t_a_login
declare @pass t_a_password
declare @encpass t_a_password
declare @lc varchar(255)
declare @li varchar(255)
declare @ri varchar(255)
---------------------------- setting the input variables ----------------------
select @lan_nom = '$language'
select @login = '$login'
select @pass = '$password'
select @encpass = ''
------------------------------ encrypting the password ------------------------
execute opa_p_rhu_g_cryptage @pass, @encpass output
------------------------------ checking if user exist -------------------------
if exists(
select 1
from opa_ress_humaine
where rhu_login = @login and rhu_password = @encpass
)
begin
------------------------------ determinating user id --------------------------
select @res_id = res_id
from opa_ress_humaine
where rhu_login = @login
----------------------------- selecting the language details ------------------
select @lan_id = lan_id, @lan_code = lan_code
from opa_langue
where lan_nom = @lan_nom
------------------------------ registering the session -------------------------
select @lc = convert(varchar(255), @lan_code)
select @li = convert(varchar(255), @lan_id)
select @ri = convert(varchar(255), @res_id)
exec ses_p_param_set 'lan_code', @lc
exec ses_p_param_set 'lan_id', @li
exec ses_p_param_set 'res_id', @ri
end
set nocount off
select ses_id
from ses_param
where ses_key = 'res_id' and ses_value = @ri
";
/********************************************************************************
*************************** SELECTS LIST OF LANGUAGES ***************************
********************************************************************************/
$sql_lst_lang = "
select lan_nom
from opa_langue";
/********************************************************************************
*************************** SELECTS PROCESS ID **********************************
********************************************************************************/
$sql_pid = "
select @@spid";
?>
Это вот что такое?
А что ты получаешь в своём первом резалтсете? Не 0 часом?
два резалтсета сразу.set nocount off
select ses_id
А что ты получаешь в своём первом резалтсете? Не 0 часом?
Даже самый дурацкий замысел можно воплотить мастерски