あなたはこれがあなたに次のメッセージが表示されますPrint
DECLARE @p_orgcompreq NVARCHAR(10)='1.1'
DECLARE @table_name NVARCHAR(50)='test'
DECLARE @treelevel INT
DECLARE @OrgCompCode_Parent NVARCHAR(10)='1.1'
DECLARE @OrgCompCode_Child NVARCHAR(10)='1.1.1'
DECLARE @SQLQuery NVARCHAR(max)
SELECT @treelevel = @@NESTLEVEL - 1
SET @SQLQuery = 'insert into ' + @table_name
+
' (level,OrgCompCode_Parent,OrgCompCode_Child) values (replicate(CHAR(45), '
+ Ltrim(Str(@treelevel))
+ ' * 1) + ltrim(str('
+ Ltrim(Str(@treelevel)) + ')),''' + (@OrgCompCode_Parent) +
''',''' +
@OrgCompCode_Child + ')'
Print @SQLQuery
を実行することにより、これを確認することができます。
insert into test (level,OrgCompCode_Parent,OrgCompCode_Child) values (replicate(CHAR(45), -1 * 1) + ltrim(str(-1)),'1.1','1.1.1)
編集
を
エラーを見るエラーが@OrgCompCode_Child + ')'
ある部分であり、次のようなこの問題を解決する必要があります
DECLARE @p_orgcompreq NVARCHAR(10)='1.1'
DECLARE @table_name NVARCHAR(50)='test'
DECLARE @treelevel INT
DECLARE @OrgCompCode_Parent NVARCHAR(10)='1.1'
DECLARE @OrgCompCode_Child NVARCHAR(10)='1.1.1'''
DECLARE @SQLQuery NVARCHAR(max)
SELECT @treelevel = @@NESTLEVEL - 1
SET @SQLQuery = 'insert into ' + @table_name
+
' (level,OrgCompCode_Parent,OrgCompCode_Child) values (replicate(CHAR(45), '
+ Ltrim(Str(@treelevel))
+ ' * 1) + ltrim(str('
+ Ltrim(Str(@treelevel)) + ')),''' + (@OrgCompCode_Parent) +
''',''' +
@OrgCompCode_Child + ')'
OR
DECLARE @p_orgcompreq NVARCHAR(10)='1.1'
DECLARE @table_name NVARCHAR(50)='test'
DECLARE @treelevel INT
DECLARE @OrgCompCode_Parent NVARCHAR(10)='1.1'
DECLARE @OrgCompCode_Child NVARCHAR(10)='1.1.1'
DECLARE @SQLQuery NVARCHAR(max)
SELECT @treelevel = @@NESTLEVEL - 1
SET @SQLQuery = 'insert into ' + @table_name
+
' (level,OrgCompCode_Parent,OrgCompCode_Child) values (replicate(CHAR(45), '
+ Ltrim(Str(@treelevel))
+ ' * 1) + ltrim(str('
+ Ltrim(Str(@treelevel)) + ')),''' + (@OrgCompCode_Parent) +
''',''' +
@OrgCompCode_Child +'''' + ')'
print @SQLQuery
EXEC (@SQLQuery)
SELECT @SQLQuery
出典
2017-11-29 10:38:12
Tom
これが答えではありません。 – plaidDK
@トム:ありがとう、トム、これは完璧です。 –
@EliseoJr、心配はいりません:) – Tom