0

条件/パラメーターに基づいて列を表示したくない

if(@SelectFlag==true)
    select name,Address,salary,CreatedBy from employee
else (@UpdateFlag==true)
    select name,Address,salary from employee    
    -- in this case i don't require the column "CreatedBy"

上記の状況を見て、クエリまたはストアドプロシージャを作成するにはどうすればよいですか..

ありがとうございます。それでは、お元気で..

4

4 に答える 4

0

U は、パラメーターを使用して SP 内で呼び出し、1 つのパラメーターを FLAG として整数として渡すことができます。

true の代わりに single = と 1,2 を使用します。

1 選択の指示と 2 更新の指示

if @FLAG = 1
  select name, Address, salary, CreatedBy from employee
else
if @FLAG = 2
  select name, Address, salary from employee  
于 2013-02-12T08:39:14.707 に答える
0

ストアド プロシージャを作成する例を次に示します。おそらく、何をしようとしているのかを示すパラメータが 1 つだけ必要です。

CREATE PROCEDURE procedurenameHere(@EventFlag INTEGER)
AS
    -- @EventFlag
    -- 1 for SELECT
    -- 2 for UPDATE
    IF @EventFlag = 1
        SELECT  name,Address,salary,CreatedBy 
        FROM    employee
    ELSE IF @EventFlag = 2
        SELECT  name,Address,salary, NULL AS CreatedBy 
        FROM    employee
GO

実行:

EXEC procedurenameHere 1
于 2013-02-12T06:47:54.417 に答える
0

の代わりに単一の=andを使用します。1true

if @SelectFlag = 1
  select name, Address, salary, CreatedBy from employee
else
if @UpdateFlag = 1
  select name, Address, salary from employee    
于 2013-02-12T06:48:16.560 に答える