当前位置: 代码迷 >> Sql Server >> sql 语句有关问题 多谢
  详细解决方案

sql 语句有关问题 多谢

热度:87   发布时间:2016-04-27 20:50:10.0
sql 语句问题 谢谢
ALTER   PROCEDURE   [dbo].[USP_UBSLog_GetAllBySort]
  (
@field   varchar(50),     --表字段名
@direction   varchar(50),   --排序方向
@logType     varchar(50)     --类型
  )
AS  

declare   @strSQL       varchar(6000)               --   主语句

if   @logType   !=   ' '
begin
set   @strSQL   =   '   select   *   from   UBSLog   where     LogType     =   '   +   @field   +
                          '   order   by   [ '   +   @field   + ']   '   +   @direction     --   这句有问题   不知道哪出错了

end
else     [email protected]   为空时可以查出信息
begin
set   @strSQL   =   '   select   *   from   UBSLog   '   +
                          '   order   by   [ '   +   @field   + ']   '   +   @direction
end

exec   (@strSQL)
GO


------解决方案--------------------
@field 参数传入的是 UBSLog 表中的字段名?
------解决方案--------------------
??问题呢?
------解决方案--------------------
alter PROCEDURE [dbo].[USP_UBSLog_GetAllBySort]
(
@field varchar(50), --表字段名
@direction varchar(50), --排序方向
@logType varchar(50) --类型
)
AS

declare @strSQL varchar(6000) -- 主语句

if @logType != ' '
begin
set @strSQL = ' select * from UBSLog where LogType = ' ' ' + @field +
' ' ' order by [ ' + @field + '] ' + @direction -- 这句有问题 不知道哪出错了

end
else [email protected] 为空时可以查出信息
begin
set @strSQL = ' select * from UBSLog ' +
' order by [ ' + @field + '] ' + @direction
end

exec (@strSQL)

GO
  相关解决方案