1
考虑三个SQL表使用值,
PEOPLE
的列 - name
(VARCHAR),age
(整数)
INFO
的列 - email
(VARCHAR),phone
(VARCHAR)
和一个master_table
为 -从表中的SQL查询
ID | TABLENAME | RECORD
--- | -------------- | ------------------------------------------------------------------
1 | PEOPLE | "{"name": "Mary", "age": 12}"
2 | INFO | "{"email": "[email protected]", "phone": "321-456"}"
现在,我希望写加载从master_table
数据到相应的表的查询。在东西线OF-
INSERT INTO @TABLENAME VALUES @RECORD AS JSON 'AUTO'
其中,@TABLENAME
是说,SELECT TABLENAME FROM MASTER_TABLE WHERE ID=1
和@RECORD
是SELECT RECORD FROM MASTER_TABLE WHERE ID=1
怎么可能实现这一目标?
感谢您的回答!然而,我的用例要求我抽象出master_table中的数据,即我不知道TABLENAME列中可能存在哪些表名,在这种情况下,不能使用 'where tablename ='PEOPLE';'或 'where tablename ='INFO';' 我以某种方式需要从表中提取它并在查询中使用它 –
并假定这些表存在于数据库中并且JSON键与列名匹配 –
@C .Thullu:那么你需要动态SQL和存储函数。这不能用“静态”SQL来完成。 –