Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để tạo tên bảng theo ngày giờ?

DECLARE @d CHAR(10) = CONVERT(CHAR(8), GETDATE(), 112);

DECLARE @sql NVARCHAR(MAX) = N'select  *
into    report_temp.MSK_Traffic_Backup_' + @d + '
from    property.door_traffic;';

PRINT @sql;
--EXEC sys.sp_executesql @sql;

Bây giờ, bạn cũng có thể muốn thêm một số logic để làm cho tập lệnh không bị lỗi nếu chạy nhiều hơn một lần trong một ngày nhất định, ví dụ:

DECLARE @d CHAR(10) = CONVERT(CHAR(8), GETDATE(), 112);

IF OBJECT_ID('report_temp.MSK_Traffic_Backup_' + @d) IS NULL
BEGIN
  DECLARE @sql NVARCHAR(MAX) = N'select  *
  into    report_temp.MSK_Traffic_Backup_' + @d + '
  from    property.door_traffic;';

  PRINT @sql;
  --EXEC sys.sp_executesql @sql;
END

Khi bạn hài lòng với logic và muốn thực hiện lệnh, chỉ cần hoán đổi các nhận xét giữa PRINTEXEC .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thêm khóa chính vào bảng hiện có trong SQL Server (ví dụ T-SQL)

  2. Cách bật Tất cả Ràng buộc CHECK &Khóa ngoại trong Cơ sở dữ liệu trong SQL Server (Ví dụ T-SQL)

  3. Cách lấy ngày hiện tại trong SQL Server

  4. Cách nhập tệp DBF trong SQL Server

  5. Làm cách nào để tìm ra lỗi _exact_ từ SQL Server