2016-07-01 8 views
0

テーブルプロジェクトには5つのプロジェクトIDがあります。ストアドプロシージャのパラメータは@projectidです。ユーザーがパラメーター6でストアード・プロシージャーを実行すると、 'project 6 does not exist'が返されます。既存の値を確認するためのストアドプロシージャ

projectid 
--------- 
1 
2 
3 
4 
5 

これは私が

create procedure chk_project @projectid int 
as begin 
if 
@projectid!=(select projectid from project where [email protected]) 
print @projectid+'does not exist 

答えて

1

私はそれはあなたを助けるかもしれないと思う

01このよう
create procedure Usp_project 
    (
     @projectid int 
) 
    As 
    /* 
    Exec Usp_project 6 
    */ 
    if not exists(select projectid from project where projectid = @projectid) 
    begin 
     print('Projectid does not Exist') 
    end 
0

をしようとしていますものですあなたはこれを行うだろう:

create procedure chk_project(
    @projectid int 
) as 
begin 
    if not exists (select 1 from project where projectid = @projectid) 
     print cast(@projectid as varchar) + ' does not exist'; 
end; 
+0

私はそれを実行したとき、それはコマンド(複数可)を実行し、正常代わりの印刷は、それが存在しないべきである –

+0

薄い終了しないを返し、その今働いている –

0

これを試してみてください:

Create procedure chk_project 
@projectid int 
as 
begin 
    if not exists (select 1 from project where projectid = @projectid) 
    begin 
     print cast(@projectid as varchar) + ' does not exist'; 
    end 
end 
0

試してみてください、このSPは、結果セットとして出力を返します

CREATE PROCEDURE chk_project (@projectid INT) 
AS 
BEGIN 
    IF NOT EXISTS (
      SELECT 1 
      FROM project 
      WHERE projectid = @projectid 
      ) 
     SELECT cast(@projectid AS VARCHAR) + ' does not exist' as Status; 
    ELSE 
     SELECT cast(@projectid AS VARCHAR) + ' exist' as Status; 
END; 
関連する問題