初学sybase!求教 Incorrect syntax near错误!!

Kean1030 2011-04-27 04:12:11
以下代码是放在存储过程里的:

select top @bot * into #TMP2 from #TMP1 as T1 order by T1.create_time desc

EXECUTE #TMP2
RETURN

求高手指点啊啊~~~
...全文
553 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kean1030 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wwwwb 的回复:]
SQL2005也不支持

BEGIN
DECLARE @ID DECIMAL;
DECLARE @SQL VARCHAR(500);
SET @ID=5;
SET @SQL='SELECT TOP '+CAST(@ID AS VARCHAR(2))+' * FROM AA ';
EXEC(@SQL)
END
[/Quote]

额 非常感谢!运行没问题了!
wwwwb 2011-04-27
  • 打赏
  • 举报
回复
SQL2005也不支持

BEGIN
DECLARE @ID DECIMAL;
DECLARE @SQL VARCHAR(500);
SET @ID=5;
SET @SQL='SELECT TOP '+CAST(@ID AS VARCHAR(2))+' * FROM AA ';
EXEC(@SQL)
END
wwwwb 2011-04-27
  • 打赏
  • 举报
回复
您好 我实际的业务有3段的 请问支持拼接吗
分成3个语句
declare @sql char(100)
select @sql= 'select top'+ @bot +'* into #TMP2 from #TMP1 as T1 order by T1.create_time desc'
execute (@sql)

select @sql= 'select top'+ @rows1 +'* into #TMP3 from #TMP2 as T1 order by T2.create_time desc'
execute (@sql)


select * into #TMP4 from #TMP3 as T3 order by T3.create_time desc


还有为什么sybase不支持直接使用变量啊。
MYSQL也不支持
Kean1030 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wwwwb 的回复:]
上述代码需要ASE12.5以上
[/Quote]

您好 我的版本是12.5.1的!
Kean1030 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwb 的回复:]
declare @sql char(100)
select @sql= 'select top'+ @bot +'* into #TMP2 from #TMP1 as T1 order by T1.create_time desc'
execute (@sql)
[/Quote]

您好 我实际的业务有3段的 请问支持拼接吗 还有为什么sybase不支持直接使用变量啊。。
select top @bot * into #TMP2 from #TMP1 as T1 order by T1.create_time desc
select top @rows1 * into #TMP3 from #TMP2 as T2 order by T2.create_time
select * into #TMP4 from #TMP3 as T3 order by T3.create_time desc

EXECUTE #TMP4
RETURN
wwwwb 2011-04-27
  • 打赏
  • 举报
回复
上述代码需要ASE12.5以上
wwwwb 2011-04-27
  • 打赏
  • 举报
回复
declare @sql char(100)
select @sql= 'select top'+ @bot +'* into #TMP2 from #TMP1 as T1 order by T1.create_time desc'
execute (@sql)

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧