機能を作成しようとしています。SQL Server Management Studioのテーブル値関数を使用するQUERY
CREATE FUNCTION tedata
(@teacher_name[nchar] NOT NULL)
RETURNS @st TABLE
([stu_id] [int] NOT NULL,
[stu_nam] [varchar](255) NULL,
[stu_dob] [date] NULL,
[stu_add] [varchar](255) NULL,
[org] [nvarchar](max) NULL,
[org_id] [char](10) NULL)
AS
BEGIN
DECLARE @teacher_id [nvarchar] NOT NULL
INSERT INTO @st
SELECT stu_id = @teacher_id
FROM dbo.[teacher];
RETURN
END
GO
ERROR:
Msg 102, Level 15, State 1, Procedure tedata, Line 16 [Batch Start Line 20]
Incorrect syntax near 'NOT'.
私は上記のエラーを取得しています。
あなたは本当にあなたのキャラクタータイプに長さを入れたいと思う。 1つを指定せずに、 "デフォルト"(1、30、または他の何があるかを知る)を得ることは、[悪い習慣]です(http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/ bad-habits-to-kick-declaring-varchar-without-length.aspx)が含まれています。 –
[蹴り癖がない:VARCHAR/NCHARを宣言しない(長さ)](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to-kick-declaring-varchar-without -length.aspx)** **常に** varcharの変数とパラメータの長さを指定してください。\t - それ以外の場合は、デフォルトで** 1文字の長さになります** ..... –