저는 Python 2.7을 사용하여 MS SQL 2012 DB에서 CRUD 작업을 수행하고 있습니다.Pymssql은 동적 열 이름이있는 사전 목록에서 multiple을 삽입합니다.
사전 목록 "NewComputers"(각 사전은 데이터베이스의 행)에 데이터가 저장되어 있습니다.
제대로 작동합니다. 그러나 소스 데이터 열 이름과 대상 열 이름은 모두 하드 코딩됩니다 (열 이름이 다르다는 점에 유의하십시오).
질문 : 데이터 원본 열 이름을 하드 코딩하는 대신 동적으로 열 이름을 확인하기 위해 사전을 반복 할 수 있습니까? 또한 대상 (데이터베이스 테이블) 열 이름을 하드 코딩하는 대신 동적으로 열 이름 목록을 반복 할 수 있습니까?
다른 데이터 원본 열과 대상 열에이 함수를 다시 사용할 수있게하려고합니다.
"INSERT INTO 컴퓨터 (열 이름의 매개 변수 목록) VALUES (값 매개 변수 목록)"여기
함수입니다 :
def insertSR(NewComputers):
conn = pymssql.connect(mssql_server, mssql_user, mssql_pwd, "Computers")
cursor = conn.cursor(as_dict=True)
try:
cursor.executemany("INSERT INTO Computer (ComputerID, HostName, Type) VALUES (%(computer_id)s, %(host_name)s, %(type)s)", NewComputers) # How to make the column names dynamic?
except:
conn.rollback()
print("ERROR: Database Insert failed.")
conn.commit()
print("Inserted {} rows successfully".format(cursor.rowcount))
conn.close()