Assume that DT_SC is the same as DT_TC or its subclass.
Define RSC as the runtime class name of the source value. Define RSC_S as the class named RSC in the database associated with the source. Define RSC_T as the name of a class RSC_T installed in the database associated with the target. If there is no class RSC_T, then an exception is raised. If RSC_T is neither the same as TC_T nor a subclass of TC_T, then an exception is raised.
If the databases associated with the source and target are not the same database, then the source object is serialized by its current class, RSC_S, and that serialization is deserialized by the class RSC_T that it will be associated with in the database associated with the target.
If the target is a SQL variable or parameter, then the source is copied by reference to the target.
If the target is a Java-SQL column, then the source is serialized, and that serialization is deep copied to the target.