Sql 根据条件调用存储过程中的第一个或第二个查询
我有一个这样的存储过程Sql 根据条件调用存储过程中的第一个或第二个查询,sql,stored-procedures,Sql,Stored Procedures,我有一个这样的存储过程 AS BEGIN SELECT I.IslemNo, S.SahisID, I.MukayyitID, K.BirimKisim, M.SorusturmaNo, S.KimlikNo, S.Ad, S.Soyad FROM [Ifade.MukayyittenSahsa] M INNER JOIN [Ifade.SahislarKimlikTablosu] S ON M.SahisID = S.
AS
BEGIN
SELECT
I.IslemNo, S.SahisID, I.MukayyitID,
K.BirimKisim, M.SorusturmaNo, S.KimlikNo, S.Ad, S.Soyad
FROM
[Ifade.MukayyittenSahsa] M
INNER JOIN
[Ifade.SahislarKimlikTablosu] S ON M.SahisID = S.SahisID
INNER JOIN
[Ifade.Islem] I ON M.SahisID = I.SahisID
INNER JOIN
[Ifade.Kullanicilar] K ON I.MukayyitID = K.KullaniciNo
WHERE
M.SorusturmaNo = @SorusturmaNo
AND S.KimlikNo = @KimlikNo;
//INSERT STATEMENT
在Winforms端:如果存储过程生成0行,我希望在同一存储过程中执行insert语句
我怎么能做到呢,还是可能?
注意:它将位于winform端的DialogResult选项之后。您可以使用
@@ROWCOUNT
获取上一条语句中受影响的行数。查看有关的更多信息
在您的情况下,您可以这样做:
SELECT
I.IslemNo, S.SahisID, I.MukayyitID,
K.BirimKisim, M.SorusturmaNo, S.KimlikNo, S.Ad, S.Soyad
FROM
[Ifade.MukayyittenSahsa] M
INNER JOIN
[Ifade.SahislarKimlikTablosu] S ON M.SahisID = S.SahisID
INNER JOIN
[Ifade.Islem] I ON M.SahisID = I.SahisID
INNER JOIN
[Ifade.Kullanicilar] K ON I.MukayyitID = K.KullaniciNo
WHERE
M.SorusturmaNo = @SorusturmaNo
AND S.KimlikNo = @KimlikNo;
IF @@ROWCOUNT > 0
INSERT abcd
但基本上我希望它将与用户对话框的结果选项选择,将发送一个值完成;如果“确定”参数将加载1个值和大小写,而“EXECQUE Insert语句ELSE DOES”则没有问题,您可以在select语句中添加所需内容,重要的是通过检查
@@ROWCOUNT
确定了解,但我将尝试用select CASE语句找到解决方案。谢谢你的回复