SQL Serverのテーブル値関数では、次のようなものを実行すると、(スカラー値関数の)変数と同様に、テンポラリテーブル@Table
が作成されます。そのような声明の多くが実行されるなら、どんな問題も起こるでしょうか?SQL Serverのテーブル値関数。関数内のテーブルは一時的なものですか?
CREATE FUNCTION some_function
(@some_var varchar(20), @someDate date)
RETURNS @Table Table (id int, name varchar(50), DoB date)
AS
BEGIN
INSERT INTO @Table
SELECT id, Name, CAST(DoB as date)
FROM tblEmployees
RETURN
END
これは一時テーブルではなく、単なる変数です。しかしこの例では、あなたはそれを必要としません。インライン関数を作成し、結果を直接返すことができます。これにより、オプティマイザは、より良いプランを作成し、変数を最初に変数にコピーすることを保存します。 –
DBA.SEでこの回答をお読みください。http://dba.stackexchange.com/questions/16385/ SQL Serverのテーブルとテーブルの間で違いがあります – TheGameiswar
ここを見てくださいhttps://blogs.msdn.microsoft.com/naga/2015/05/10/sql/ –