我在另一个查询中的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语句。
')'附近的语法不正确。