教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · MsSql综合技巧

发贴散分100,谢谢大家以往地帮助

 
学院最新推荐文章
PS教程推荐
 
『发贴散分100,谢谢大家以往地帮助』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
作者:StrutHib… 来源:C.S.D.N 点击数: 更新时间:2008-7-24 
写个简单SQL就给分

怎么把select count(*) from TaUsers where id=1的值用语句if....else 直接返回0和1 ;
(可我不想用rs.next();rs.getInt(1)来获取)

比如:
if(select count(*) from TaUsers where id=1)==0
  return  0
else
  return 1

错在哪里?
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '=' 附近有语法错误。
服务器: 消息 178,级别 15,状态 1,行 3
在此上下文中不能使用带有返回值的 RETURN 语句。
服务器: 消息 178,级别 15,状态 1,行 4
在此上下文中不能使用带有返回值的 RETURN 语句。

用case when 语句或者if not exists()语句  能不能实现这样的功能?

if(exists(select * from TaUsers where id=1)) return 1这样的语句错在哪?
服务器: 消息 178,级别 15,状态 1,行 1
在此上下文中不能使用带有返回值的 RETURN 语句。

这个问题第1个回答:
引用楼主 StrutHibernate 的帖子:
if(exists(select * from TaUsers where id=1))
return 1


RETURN语句一般是用在存储过程里,你这样直接写肯定是抱错的。
这个问题第2个回答:
先占位再看问题.
这个问题第3个回答:
况且你也应该这样写:
SQL code



if exists(select * from TaUsers where id=1) 




这个问题第4个回答:
先接分
这个问题第5个回答:
SQL code





--写成存储过程好了。



create proc p_test

as



if exists(select * from sys.TaUsers where id=1) 

    return 1

else

    return 0



go



--调用



declare @i int

exec @i = p_test

select @i




这个问题第6个回答:
SQL code

declare @i as int

set @i = 0

select @i = count(*) from TaUsers where id=1

if @i = 0 

  print '0' 

else 

  print '1'


这个问题第7个回答:
接下来就是接分了,呵呵~
这个问题第8个回答:

if exists  (select count(*) from tb_Admin where id=45)
  select  0
else
  select 1
这个问题第9个回答:
今天主要就是想谢谢大家以往的帮助来散分,问题只是捎带的,

我想更深入地学习SQLServer,想问问大家有没有什么好的资料介绍一下。

基础教程看了好遍,效果并不是很好。

此贴明天下午结。
这个问题第10个回答:
引用 8 楼 redfox241 的回复:

if exists  (select count(*) from tb_Admin where id=45)
  select  0
else
  select 1

我写了同样的语句,不能执行啊。
这个问题第11个回答:
jf
这个问题第12个回答:
jf
这个问题第13个回答:
SQL code

if(select count(*) from TaUsers where id=1)==0

-->

if not exists(select 1 from TaUsers where id=1)

-->or 

if (select count(*) from TaUsers where id=1)=0




这个问题第14个回答:
if exists(select * from sys.TaUsers where id=1)
    return 1
else
    return 0


这个问题第15个回答:
引用 14 楼 wufeng4552 的回复:
if exists(select * from sys.TaUsers where id=1)
    return 1
else
    return 0

服务器: 消息 178,级别 15,状态 1,行 3
在此上下文中不能使用带有返回值的 RETURN 语句。
服务器: 消息 178,级别 15,状态 1,行 4
在此上下文中不能使用带有返回值的 RETURN 语句。

这个问题第16个回答:
引用 13 楼 qianjin036a 的回复:
SQL codeif(select count(*) from TaUsers where id=1)==0
-->
if not exists(select 1 from TaUsers where id=1)
-->or
if (select count(*) from TaUsers where id=1)=0

都不能直接用SQL查询语句写。

L5的存储过程和L6的SQL语句可以正常求解!不知还有其他的方法吗?

用case when 能不能实现?


这个问题第17个回答:
SELECT CASE WHEN ISNULL(count(*),0)=0 THEN 0 ELSE 1 END  from TaUsers where id=1


这个问题第18个回答:
SQL code



--1.

create proc test

@ErrorCode int output

as

if exists (select 1 from TaUsers where id=1)

begin

    set @ErrorCode = 0

    return

end

else

begin

    set @ErrorCode = 1

    return

end

go

--2.

create proc test

@ErrorCode int output

as

if (select count(*) from TaUsers where id=1)=0

begin

    set @ErrorCode = 0

    return

end

[1] [2] 下一页  

】【关闭窗口
·上页:
·下页:
相关文章
 
     数据库类教程 - MsSql综合技巧
普通教程SQL Server 2008升级顾问
普通教程迁移 Reporting Services
普通教程SQL Server 2008升级报表服务器
普通教程SQL Server 2008 升级Reporting
普通教程SQL Server 2008示例之奥地利广
普通教程SQL Server 2008 示例之微软IT部
普通教程SQL Server 2008示例之日立咨询
普通教程SQL Server2008示例之CyberSavv
普通教程SQL Server 2008示例之CareGrou
普通教程微软商业智能技术详细解说
普通教程通过数据说明和生成报表整合企业
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光