2016-04-02 59 views
0

に私は、SQLで次のテーブルを持っている:ユーザー定義関数、SQL

enter image description here

私は、パラメータとしてSTUDENT_IDを取り、上記の表からStudent_Nameとバランスを返す関数を書きたいです。

どうすればいいですか?これは、SQLサーバー用です

CREATE FUNCTION function_name(@Student_ID int) 
RETURNS @name_and_balanceTable TABLE 
(
    -- Columns returned by the function_name 
    Name nvarchar(50), 
    Balance int 
) 
AS 
-- Returns the Name and Balance for particular Student_ID 
BEGIN 
    -- Selecting the name and balance 
    SELECT 
     @Name = st.Student_Name, 
     @Balance = ac.Balance 
    FROM Student st JOIN Account ac ON st.Student_ID = ac.Student_ID 
    WHERE st.Student_ID = @Student_ID; 

    -- Insert these value into table 
    BEGIN 
     INSERT @name_and_balanceTable 
     SELECT @Name, @Balance; 
    END; 
    RETURN; 
END; 

:として

+2

を? 'mysql'、' postgresql'、 'sql-server'、' oracle'、 'db2'のどれかを指定するタグを追加してください。 –

+0

@osimerpothe私はsql-serverの答えを投稿しました...それが正しいかどうかを確認してください。 – Shiv

答えて

1

機能を作成することができます。 this linkを使用する詳細については ...

2
CREATE DEFINER=`root`@`localhost` PROCEDURE `myproc`(IN `id` INT) 
NO SQL 
SELECT student.Student_Name, account.Balance 
FROM student INNER JOIN account 
ON student.Student_ID = account.Student_ID 
WHERE student.Student_ID = id 

あなたはphpMyAdminのからプロシージャを作成することができます:RDBMSはこのです How to write a stored procedure in phpMyAdmin?

関連する問題