2015-07-23 4 views
0

Я создал хранимую процедуру, которая сохраняет значения в таблице timeal.y, затем я показываю с помощью «select», но только в моем SQL-сервере хорошо работает. когда вы вызываете процедуру в codeigniter, я сгенерировал пустой массив.ошибка получения процедуры данных в codeigniter

ЭТО МОЯ ПРОЦЕДУРА В CodeIgniter

function verificacion_ocupados($codigo,$llave_maestra){ 
    $sql = "sp_verificacionocupados ?, ?"; 
    $query = $this->db->query($sql,array($codigo, $llave_maestra)); 
    $data = $query->result(); 
    $query->free_result();   

    return $data; 
} 

ЭТО МОЯ ПРОЦЕДУРА

CREATE PROCEDURE [dbo].[sp_verificacionocupados] 
@codigo int, 
@llave_maestro varchar(50) 
    AS 
    DECLARE @finicio date; 
    DECLARE @ffinal date; 
    DECLARE @codigo_dias int; 
    DECLARE @no VARCHAR(100); 
    create table #pivote(
    code int 
    ); 
    SET @no='veremos'; 
    BEGIN 
     SELECT @ffinal=Oel_Fecha_Fin,@finicio=Oel_Fecha_Inicio 
     FROM Operaciones_Especiales_Llave 
     where [email protected] and Oel_Estado=2 and [email protected]_maestro ; 
      IF @@ROWCOUNT>0 
      BEGIN   
        INSERT INTO #pivote VALUES (2);  
      END 
    END 
    SELECT code from #pivote; 
GO 

Это только один пример гораздо большей консультации я делаю. Я думаю, что проблема заключается во временной таблице, и я звоню, чтобы вернуть данные.

У кого есть идея, в чем проблема? , Заранее спасибо

+0

Вы должны использовать профилировщик, чтобы узнать, какая фактическая команда SQL отправляется из CodeIgniter в ваш db. Возможно, проблема заключается в том, что ваш CodeIgniter вызывает sp_verificacionocupadose, но ваш сохраненный proc называется sp_verificacionocupados2 –

+0

Вы не должны использовать префикс sp_ для хранимых процедур, он имеет особую цель в SQL Server. –

ответ

0

измените его следующим образом.

function verificacion_ocupados($codigo,$llave_maestra) 
    { 
    $sql="sp_verificacionocupadose ?, ?"; 
    $query=$this->db->query('call sp_verificacionocupadose("$codigo","$llave_maestra")')); 
    $data=$query->result(); 
    $query->free_result();   
    return $data; 
    } 
Смежные вопросы