개인적으로 JSON 문자열을 저장 프로 시저에 전달하여이 문제에 접근하지 않습니다. 그러나 이렇게하면 JSON 객체를 직접 저장 프로 시저에 전달한 다음 아래와 같이 문자열을 조작 할 수 있습니다. 테이블 이름을 조작하고 예제 JSON 문자열 '{TABLENAME : TABLENAME, Fields : {field1 : varchar, field2 : int}}'을 기반으로 테이블을 생성하는 코드를 제공했습니다. 그런 다음 문자열을 기반으로 필드 및 데이터 유형을 포함하도록이 필드를 수정해야합니다.
CREATE PROCEDURE CreateTableFromJSON
(
@JSON VARCHAR(100)
)
AS
DECLARE @TableName VARCHAR(100)
SET @TableName = SUBSTRING(@json, CHARINDEX(':', @json)+1, CHARINDEX(',', @json) -CHARINDEX(':', @json)-1)
DECLARE @SQL VARCHAR(100)
SET @SQL = 'CREATE TABLE ' + @TableName + ' (ID INT)'
EXEC(@SQL)
GO
EXEC CreateTableFromJSON '{TABLENAME:TABLENAME, Fields: {field1:varchar, field2: int }}'
SQL 버전간에 저장 프로 시저 작성 구문 및 의미가 크게 달라 지므로 SQL 버전이 명시 적으로 언급 된 경우 대답이 커질 수 있습니다. –