0

WHERE1 つのプロシージャを作成し、列が同じになるにはどうすればよいですか?

WHEREコラムはQuotationNo

これはプロシージャの署名です:

create procedure (QUO1 int, QUO2 int, QUO3 int, QUO4 int)

出力:

Quote     price     quantity
---------------------------------
1234       2000        1000
5678       2500        4000
9012        3000        4500 
3456        1000        1000

ありがとう、

キャプテン16

4

2 に答える 2

1
CREATE PROCEDURE NameMyProc
    @QUO1 int, @QUO2 int, @QUO3 int, @QUO4 int
AS
    select quote, price, quantity
     from tbl
    where quotationno in (@qu01, @qu02, @qu03, @qu04)
GO

より柔軟なテーブル値関数を作成することもできます。

CREATE FUNCTION dbo.NameMyFunction (
    @QUO1 int, @QUO2 int, @QUO3 int, @QUO4 int
) RETURNS TABLE AS RETURN
    select quote, price, quantity
     from tbl
    where quotationno in (@qu01, @qu02, @qu03, @qu04)
GO

-- Example usage:
SELECT * FROM dbo.NameMyFunction(1234, 5678, 9012, 3456) T
于 2012-11-05T09:33:15.080 に答える
0

実行時に現状価値を与える場合

create proc [test]
 (QUO int(11))
as 
begin
select quote,price,quantity from table where quote=@QUO 
end
于 2012-11-05T09:35:04.720 に答える