与sql查询相关的问题。 [英] Question related with sql query.

查看:82
本文介绍了与sql查询相关的问题。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我的名字是Akashkumar,我需要知道select -1是什么意思或用法,为什么我们需要这条线或者查询?



这是我找到的地方。



  USE  [TISDB] 
GO
/ * *****对象:StoredProcedure [dbo]。[usp_SubContractor_insert]脚本日期:08/21/2013 12:42:29 ***** * /
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


- 执行usp_SubContractor_insert 0,'Madhavi12-2-2010','3 -3-2010','新客户','新地址',
- '新工作名称','新工作订单','新工作订单否','新服务税否','新增产品否','新估计时间'
- ,1,1,1

ALTER procedure [dbo]。[usp_SubContractor_insert]

@ SCCode int
@ SCCodeNumber varchar 50 ),
@ SCName varchar 50 ),
@ Sc_StartingDate varchar 11 ),
@ Sc_EndingDate varchar 11 ),
@ Sc_Address varchar 500 ),
@ Sc_WorkName varchar 200 ),
@Sc_WorkOrderNo varchar 200 ),
@ Sc_Stno varchar 50 ),
@ Sc_vatno varchar 50 ),
@ Sc_Estimatetime varchar 50 ),
@ Sc_EstimateAmount varchar 50 ),
@ Pancardno varchar 50 ),
@ mono numeric (< span class =code-digit> 18 , 0 ),
@ userid varchar 10 ),
@ Tendercode int
@ LocationID varchar 10 ),
@ Sync_Status
@ Layer varchar 10

作为
如果 @ SCCode = 0
开始
如果 存在选择 * 来自 SubCont_Master where SCCode = @ SCCode SCCodeNumber = @ SCCodeNumber SCName = @SCName)
开始
选择 @ SCCode = isnull(max(SCCode) , 0 )+ 1 来自 [SubCont_Master]
INSERT INTO [SubCont_Master]([SCCode],[SCCodeNumber],[SCName],[Sc_StartingDate],[Sc_EndingDate],[Sc_Address],[ Sc_WorkName],[Sc_WorkOrderNo],[Sc_STno],[Sc_VatNo],[Sc_Estimatetime],[Sc_EstimateAmount],[pancardno],[mono],[UserId],[Tendercode],[LocationID],[Sync_Status],[Layer] , [Dt]) VALUES @ SCCode @ SCCodeNumber @ SCName @ Sc_StartingDate @ Sc_EndingDate @ Sc_Address @ Sc_WorkName @ Sc_WorkOrderNo @ Sc_STno @ Sc_VatNo @Sc_Estimatetime @ Sc_EstimateAmount @ pancardno @mono @ UserId @ Tendercode @LocationID @ Sync_Status @ Layer ,GETDATE())
选择 @ SCCode
end
else
开始
选择 -1
end
end
else
开始
如果 存在 select * 来自 SubCont_Master 其中 SCName = @ SCName SCCodeNumber = @ SCCodeNumber Tendercode = @ Tendercode SCcode<> @SCCode)
开始
更新 SubCont_Master 设置 [SCCodeNumber] = @ SCCodeNumber,
[SCName] = @ SCName
[Sc_StartingDate] = @ Sc_StartingDate
[Sc_EndingDate] = @Sc_EndingDate,
[Sc_Address] = @ Sc_Address,
[Sc_WorkName] = @ Sc_WorkName,
[Sc_WorkOrderNo] = @ Sc_WorkOrderNo,
[Sc_Stno] = @ Sc_Stno,
[Sc_vatno] = @ Sc_vatno,
[Sc_Estimatetime] = @ Sc_Estimatetime,
[Sc_EstimateAmount] = @ Sc_EstimateAmount,
[pancardno] = @ pancardno,
[mono] = @ mono,
[UserId] = @ UserId,
[Tendercode] = @ Tendercode,
[LocationID] = @ LocationID,
[Sync_Status] = @ Sync_Status,
[Layer] = @ Layer,
[Dt] = GetDate()其中 SCCode = @ SCCode
选择 @ SCCode
end
else
开始
select -1
end
end



谢谢。

解决方案

如果您的代码包含行

< pre lang =SQL> SELECT -1



然后几乎可以肯定它只是一个占位符行在出现问题时从查询或SP返回一个值。

它所做的只是字面上选择值-1并将其作为查询结果返回,就好像它是唯一一行中匹配WHERE子句的唯一一列。


是的我同意 OriginalGriff

它只返回一些东西因此,如果没有找到/操作数据或您的案例中存在所有数据。



此程序所在的位置调用我认为会有一些使用此-1来验证某些内容或某些信息页面,例如找不到结果或其他内容。


Hello everyone,
My name is Akashkumar, i need to know what is the meaning or use of "select -1" and why do we need this line or query?

this is where i have found it.

USE [TISDB]
GO
/****** Object:  StoredProcedure [dbo].[usp_SubContractor_insert]    Script Date: 08/21/2013 12:42:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


--Exec usp_SubContractor_insert 0,'Madhavi12-2-2010','3-3-2010','new Client','New Address',
--'New WorkName','New Work Order','New Work Order No','New Service Tax No','New Vat No','New Estimate Time'
--,1,1,1

ALTER procedure [dbo].[usp_SubContractor_insert] 
(
@SCCode int,
@SCCodeNumber varchar(50),
@SCName varchar(50),
@Sc_StartingDate varchar(11),
@Sc_EndingDate varchar(11),
@Sc_Address varchar(500),
@Sc_WorkName varchar(200),
@Sc_WorkOrderNo varchar(200),
@Sc_Stno varchar(50),
@Sc_vatno varchar(50),
@Sc_Estimatetime varchar(50),
@Sc_EstimateAmount varchar(50),
@Pancardno varchar(50),
@mono numeric(18,0),
@userid varchar(10),
@Tendercode int,
@LocationID varchar(10),
@Sync_Status bit,
@Layer varchar(10)
)
As
if @SCCode=0
begin
	if not exists (select * from SubCont_Master where SCCode=@SCCode And SCCodeNumber=@SCCodeNumber And SCName=@SCName) 
	begin
		select @SCCode=isnull(max(SCCode),0)+1 from [SubCont_Master]
		INSERT INTO [SubCont_Master] ([SCCode],[SCCodeNumber],[SCName],[Sc_StartingDate], [Sc_EndingDate],[Sc_Address], [Sc_WorkName], [Sc_WorkOrderNo], [Sc_STno], [Sc_VatNo], [Sc_Estimatetime], [Sc_EstimateAmount],[pancardno],[mono] ,[UserId],[Tendercode],[LocationID] ,[Sync_Status],[Layer],[Dt]) VALUES (@SCCode,@SCCodeNumber, @SCName,@Sc_StartingDate, @Sc_EndingDate,@Sc_Address, @Sc_WorkName, @Sc_WorkOrderNo, @Sc_STno, @Sc_VatNo, @Sc_Estimatetime, @Sc_EstimateAmount,@pancardno,@mono,@UserId,@Tendercode, @LocationID,@Sync_Status,@Layer,GETDATE())
		select @SCCode
	end
	else
	begin
		select -1
	end
end
else
begin
	if not exists (select * from SubCont_Master where SCName =@SCName And SCCodeNumber=@SCCodeNumber And Tendercode = @Tendercode and SCcode<>@SCCode)
	begin
		Update SubCont_Master Set [SCCodeNumber]=@SCCodeNumber,
		[SCName] = @SCName,
		[Sc_StartingDate] = @Sc_StartingDate,
		[Sc_EndingDate]=@Sc_EndingDate,
		[Sc_Address] =@Sc_Address,
		[Sc_WorkName]=@Sc_WorkName,
		[Sc_WorkOrderNo]=@Sc_WorkOrderNo,
		[Sc_Stno]=@Sc_Stno,
		[Sc_vatno]=@Sc_vatno,
		[Sc_Estimatetime]=@Sc_Estimatetime,
		[Sc_EstimateAmount]=@Sc_EstimateAmount,
        [pancardno]=@pancardno,
        [mono]=@mono,
		[UserId]=@UserId,
		[Tendercode]=@Tendercode,
		[LocationID] =@LocationID,
		[Sync_Status] =@Sync_Status,
		[Layer] =@Layer,		
		[Dt]=GetDate() where SCCode=@SCCode
		select @SCCode
			end
			else
			begin
				select -1
			end
		end


Thank you.

解决方案

If your code contains the line

SELECT -1


Then almost certainly it's a "placeholder" line there just to return a value from a query or SP in the case of a problem.
All it does is literally select the value "-1" and return it as the query result, as if it had been the one and only column in the only row matching a WHERE clause.


yeah i am agree with OriginalGriff
its only to return something as result if there is no data found/manipulate or all data exists in your case.

the place from where this procedure is calling i think there will be some use of this -1 to validate something or some information page like no result found or something else.


这篇关于与sql查询相关的问题。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆