与sql查询相关的问题。 [英] Question related with sql query.
本文介绍了与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屋!
查看全文