Compare commits
5 Commits
usability
...
1916668c6e
| Author | SHA1 | Date | |
|---|---|---|---|
| 1916668c6e | |||
| 919800da42 | |||
| 947580a2ec | |||
| 688b9a22b6 | |||
| 76ce0fc54f |
@@ -185,5 +185,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
|
||||||
Reference in New Issue
Block a user