选择语句

时间:2015-06-16 13:25:25

标签: sql tsql sybase sybase-ase

我在另一个查询中的select语句中需要这个查询,我试图把它放在一个函数中并从select中调用它,但是我得到错误可能是因为函数中不允许非标量语句。我该怎么办?

SELECT Tip.NombreTipoMov 
                    INTO #tabla_temp
                    FROM ut_sgt_Movimientos_t Reg
                    INNER JOIN  ut_sgt_TiposMovimientos_m Tip
                                ON Reg.id_TipoMov = Tip.id_TipoMov
                    WHERE Reg.id_Registro = @IdRegistro

                    DECLARE @data VARCHAR(100)

                    UPDATE #tabla_temp
                    SET @data = @data + ' ' + NombreTipoMov

                    SELECT LTRIM(RTRIM(@data))

                    DROP TABLE #tabla_temp

这是功能:

CREATE FUNCTION dbo.uf_sgt_ObtieneTiposMovimientosXRegistroVehiculo
(
    @IdRegistro  INTEGER
)
RETURNS VARCHAR(100)
AS
BEGIN
    DECLARE @Retorno VARCHAR(100)

SET @Retorno = ( SELECT Tip.NombreTipoMov INTO #tabla_temp FROM ut_sgt_Movimientos_t Reg INNER JOIN ut_sgt_TiposMovimientos_m Tip ON Reg.id_TipoMov = Tip.id_TipoMov WHERE Reg.id_Registro = @IdRegistro DECLARE @data VARCHAR(100) UPDATE #tabla_temp SET @data = @data + ' ' + NombreTipoMov SELECT LTRIM(RTRIM(@data)) DROP TABLE #tabla_temp ) RETURN @Retorno END GO

这是错误:

  

关键字“INTO”附近的语法不正确。

     

标量SQL函数中的非法UPDATE语句。

     

标量SQL函数中的非法SELECT语句。

     

标量SQL函数中的非法DROP TABLE语句。

     

')'附近的语法不正确。

0 个答案:

没有答案