我是这个存储过程业务的新手,我相信这很简单,只是不熟悉语法或如何返回。
我正在传递一个参数 ID,我想返回有关该 ID 的信息,但它可能来自两个表之一。取决于表取决于我返回哪些列。
ALTER PROCEDURE name
@ID varchar (40)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @result int
IF exists (SELECT id, name, state
FROM tab1
WHERE tab1.id = @ID
)
begin
/* return somehow, maybe as a temp table from previous check */
end
else ( SELECT id, name, country, state
FROM tab2
WHERE tab2.id = @ID
)
begin
/* return information from tab2 instead */
end
end
go
检查它们是否存在于表中是最好的方式,或者这真的应该是一个连接吗?我的 sql 技能是新的,我不确定存储过程中有什么可用的。
我如何返回信息?我的 java 访问它期望这是此过程中的第二个结果集。(不,我没有弄清楚第一个结果集)第一个结果集将大致相同,在存储在不同数据库中的两个表之间进行检查,但会涉及更多,我只是希望这个首先工作。
提前感谢您的帮助。