7 Commits

Author SHA1 Message Date
ton
7cb0bd077f Merge pull request 'update' (#4) from add_generateupdateSQL into main
Reviewed-on: #4
2026-06-07 09:04:33 +00:00
0ba2aa310e update 2026-06-07 15:32:49 +07:00
ton
1916668c6e Merge pull request 'add_generateupdateSQL' (#3) from add_generateupdateSQL into main
Reviewed-on: #3
2026-06-07 06:57:28 +00:00
919800da42 add generateUpdateSQL 2026-06-07 13:56:07 +07:00
947580a2ec update 2026-06-07 13:46:04 +07:00
688b9a22b6 add generateUpdateSQL 2026-06-07 13:43:47 +07:00
ton
76ce0fc54f Merge pull request 'usability' (#2) from usability into main
Reviewed-on: #2
2026-05-29 04:17:51 +00:00

View File

@@ -121,7 +121,8 @@ function generateInsertSQL(table_name::String, columnToInsert::Vector{Symbol}, d
for (key, value) in data for (key, value) in data
if key columnToInsert if key columnToInsert
push!(columns, string(key)) push!(columns, string(key))
push!(values, "'$value'") #[] number should not wrapped in '' value_str = isa(value, AbstractString) ? "'$value'" : "$value"
push!(values, value_str)
end end
end end
@@ -131,6 +132,24 @@ function generateInsertSQL(table_name::String, columnToInsert::Vector{Symbol}, d
return "INSERT INTO $table_name ($columns_str) VALUES ($values_str);" return "INSERT INTO $table_name ($columns_str) VALUES ($values_str);"
end end
function generateInsertSQL(table_name::String, data::AbstractDict{String, Any})
columns = String[]
values = String[]
for (key, value) in data
if key columnToInsert
push!(columns, string(key))
value_str = isa(value, AbstractString) ? "'$value'" : "$value"
push!(values, value_str)
end
end
columns_str = join(columns, ", ")
values_str = join(values, ", ")
return "INSERT INTO $table_name ($columns_str) VALUES ($values_str);"
end
# ---------------------------------------------- 100 --------------------------------------------- # # ---------------------------------------------- 100 --------------------------------------------- #
@@ -185,5 +204,30 @@ function generateUpdateSQL(table_name::String, pk_column::String, pk_value,
return "UPDATE $table_name SET $set_clause WHERE $pk_column = $pk_val_str;" return "UPDATE $table_name SET $set_clause WHERE $pk_column = $pk_val_str;"
end end
function generateUpdateSQL(table_name::String, pk_dict::AbstractDict{String, Any},
data::AbstractDict{String, Any})
# Build SET clause
set_parts = String[]
for (key, value) in data
if key keys(data)
value_str = isa(value, AbstractString) ? "'$value'" : "$value"
push!(set_parts, "$(string(key)) = $value_str")
end
end
set_clause = join(set_parts, ", ")
# Build WHERE clause for composite keys
where_parts = String[]
for (col, val) in pk_dict
val_str = isa(val, AbstractString) ? "'$val'" : "$val"
push!(where_parts, "$(string(col)) = $val_str")
end
where_clause = join(where_parts, " AND ")
return "UPDATE $table_name SET $set_clause WHERE $where_clause;"
end
end # module end # module