sql >> データベース >  >> RDS >> Sqlserver

<テーブル値関数> は認識される組み込み関数名ではありません

    テーブル値関数です。つまり、おそらく次のことを意味していました:

    SELECT p.DOCTORFISTNAME, p.DOCTORLASTNAME, t.FirstName, t.Middle, t.LastName FROM dbo.[PracticeandPhysician] AS p CROSS APPLY dbo.fnParseName(p.DOCTORFIRSTNAME + ' ' + p.DOCTORLASTNAME );  

    次のことは言えないことに注意してください:

    SELECT dbo.TableValueFunction('foo');  

    あなたが言える以上のこと:

    SELECT dbo.Table;--orSELECT dbo.View;  

    ただし、次のように言うこともできます:

    SELECT * FROM dbo.fnParseName('foo bar');--orSELECT FirstName, Middle, LastName FROM dbo.fnParseName('foo bar');  

    (あなたの関数があなたの考えを実行する、または効率的に実行することを私が検証したわけではありません。)

    常に を使用してください プレフィックス 他の人が示唆したように。



    1. 子行を追加または更新できません:外部キー制約が失敗します

    2. MySQLデータベースにBLOB値を挿入します

    3. Oracleを使用して切断された接続をクリーンアップするにはどうすればよいですか?

    4. MariaDBでのREGEXP_INSTR()のしくみ