Tôi đang sử dụng một khung công tác (Jodd) đang thêm bí danh bảng vào các tên cột trong một Chọn SQL. Nó trông giống như SQL được định dạng tốt, nhưng Postgres đã kích hoạt nó.Postgres sẽ không chấp nhận bí danh bảng trước tên cột
update GREETING Greeting
set Greeting.ID=5,
Greeting.NAME='World',
Greeting.PHRASE='Hello World!'
where (Greeting.ID=5)
đưa ra một lỗi:
Error: ERROR: column "greeting" of relation "greeting" does not exist
SQLState: 42703
Có cách nào để có được Postgres chấp nhận SQL? Lựa chọn khác của tôi là hack khung công tác mà tôi không muốn làm.
Bạn đã thử đặt chế độ bí danh tên cột khác nhau (http://jodd.org/doc/db/sqlgenerator.html#Column-name-aliasing) chưa? Theo mặc định, TABLE_REFERENCE được đặt - sẽ thêm các bí danh bảng cho các cột, nhưng bạn có thể thử hai số khác. Điều này có thể được thiết lập bởi phương thức DbOomManager # setDefaultColumnAliasType(), ở đâu đó khi khởi động ứng dụng. Ngoài ra, đừng ngần ngại liên hệ với Jodders bằng đoạn mã thực, họ sẵn sàng trợ giúp :) – igr