[英]Searching a table using a user-defined function
我正在嘗試編寫一個給定游戲名稱的SQL函數,它將允許我在游戲表中搜索該特定游戲並返回有關該游戲的所有信息。
這是Games表的代碼:
CREATE TABLE Games(
game_id INT IDENTITY PRIMARY KEY,
name VARCHAR(50),
release_date VARCHAR(50),
rating VARCHAR(5),
min_age INT,
development_team_email VARCHAR(50) FOREIGN KEY REFERENCES Development_Teams,
release_conference INT FOREIGN KEY REFERENCES Conferences
)
這是我嘗試編寫函數時可以想到的結果:
create function SearchGames(@game_name varchar(50))
returns table
begin
declare @game
Select (*)
From Games
where Games.name = @game_name
return @game
end
我收到許多語法錯誤,而且我不知道自己在做什么錯。 任何幫助表示贊賞。
使用inline table valued function
語法並添加架構:
create function dbo.SearchGames(@game_name varchar(50))
returns table
AS
RETURN (Select *
From Games
where Games.name = @game_name);
如果使用存儲過程,則需要使用:
CREATE TABLE ...;
INSERT INTO ... EXEC stored_procedure @args;
-- another operation on stored procedure resultset
而使用內聯表功能,您只需:
SELECT * FROM dbo.SearchGames('aaa') GROUP BY ... HAVING ... ORDER BY;
我不建議為此使用function
,而是建議使用stored procedure
:
Create Proc spSearchGames (@game_name Varchar (50))
As Begin
Select *
From Games
Where name = @game_name
End
Go
並執行它:
Exec spSearchGames 'YourGameName'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.