Question: can we write dml in function?
Answer: The answer of this is “No” you cannot write DML statements in SQL functions. Functions have Only READ-ONLY database access. If DML operations would be allowed in functions, then functions would be pretty similar to stored procedures. The way it is, a stored procedure can use a function, but not vice versa.