Trong Oracle, bạn có thể tạo một bảng tạm thời sử dụng một cái gì đó như:SQL Server/Oracle: bảng tạm thời Private
CREATE GLOBAL TEMPORARY TABLE temp_table (
field1 NUMBER,
field2 NUMBER
)
ON COMMIT DELETE ROWS;
... mà có thể là khá tiện lợi, vì điều này sẽ tạo ra một bảng có thể nhìn thấy tất cả mọi người, nhưng dữ liệu một INSERTs vào bảng chỉ hiển thị cho người đó. Ngoài ra, dữ liệu đó sẽ tự động bị xóa vào cuối giao dịch hoặc phiên (tùy thuộc vào tuyên bố của nó), để dữ liệu tạm thời của mọi người khác không bị tổn hại.
Trong SQL Server, tuy nhiên, bạn có thể tạo một bảng temp với:
CREATE TABLE #temp_table (field1 INT, field2 INT);
... mà, như tôi hiểu nó, là đáng kể và chức năng khác biệt so với thực hiện của Oracle. Bảng tạm thời này chỉ hiển thị đối với bạn và được thả (bảng) ngay sau khi sử dụng.
Có bất kỳ khả năng nào trong SQL Server để bắt chước hành vi của Oracle như được mô tả ở trên không? Hoặc là cách duy nhất để làm việc với dữ liệu tạm thời liên quan đến việc phải liên tục TẠO bảng tạm thời với mỗi lần lặp lại công việc?
bạn có thể giải thích lý do bạn muốn bắt chước hành vi của Oracle trong SQLServer không? Là nó chỉ để tránh yêu cầu để thực hiện câu lệnh CREATE TABLE? –
@Mark ~ tốt, đó là chủ yếu. Nhưng nếu tôi đang xử lý (1) chèn dữ liệu tạm thời lặp đi lặp lại, (2) với cùng định dạng dữ liệu và trường, (3) và là người dùng duy nhất (tức là dữ liệu riêng tư cho phiên người dùng), ý nghĩa để xử lý tất cả những gì trong một bảng theo cách thực hiện của Oracle. :) –
[Bảng tạm thời riêng tư của Oracle] (https://stackoverflow.com/a/48852466/5070879) – lad2025